2009-02-20

なぜ日本では、ゲーム機のことをコンシューマというのか

私は、ゲーム機一般を指して、コンソールと呼ぶ。英語ではそう呼ぶからだ。そこで、consoleの最も一般的と思われるカタカナ表記、「コンソール」を使っているわけだ。ところが、日本人と話していると、これがなかなか通じない。私は生粋の日本人であるはずなのに何故だろう。彼ら、英語になじみの無い日本人は、ゲーム機をして、「コンシューマ」と呼ぶ。これは一体何故だろう。

コンシューマと聞いて、私がまず思い浮かべる英単語は、"consumer"だ。これは、辞書的に訳せば、「消費者」という意味である。このconsumerが、なぜゲーム専用機を指す代名詞になったのか、まったく推測できない。あるいは、別の単語なのだろうか。それとも、英語由来ではないのだろうか。

この疑問を確かめようとググると、Wikipediaがヒットした。

コンシューマーゲーム - Wikipedia

Wikipediaによれば、まず、アーケード・ゲームという呼称があり、後に、家庭で遊ぶゲーム専用機ができた際、区別するために、コンシューマ・ゲームという呼称を使ったのだとか。それで、日本ではゲーム機をコンシューマというらしい。なるほどなるほど。マンションと同じ理由なのか

求人の面接で思うこと

以下は私が良く遭遇する面接にての質問と、その質問に対して思っている私の本心である。

この組合立○×小学校ってなんですか?

組合立というのは複数の市町村が合同でやっている学校のことだ。なぜそんなことを訊ねるというのか。これは一般常識の問題であり、求人の面接で質問することか。面接官の一般常識の無さをさらけ出して、リラックスさせたい意図ならともかくも。

なぜここを志望したのですか?

何故ってそりゃ、お前んとこが、「求人広告」をだしていたからに決まっているだろう。ボケてるのか。なぜ俺がここでこうして面接を受けていると思うんだ。そりゃ他には、勤務地が自宅から通勤できる範囲であるとか、給与その他の待遇が希望に見合ったものであるとか、業種が希望に合ったものであるとかなどもあるが、そもそもお前が求人広告をだしていたことが第一の理由だろう。求人していることを知らなかったら、そもそも受けようすら思わないんだから。

何故そんな頭なのですか(私は常にバリカンで頭を刈り上げている)

趣味だよ。むしろ逆に問いたいね。何故お前は髪を伸ばしているのかと。そんなに伸ばしていたら、毎日髪を洗うのも面倒だし、乾かすのも面倒だし、それに、毎朝時間をかけてセットしないといけないんだろう。こう言っちゃ何だが、その顔でぇ? 無駄とか阿呆という言葉はこのためにあるようなものだな。

2009-02-18

村上春樹のより原文に近そうなスピーチ

Always on the side of the egg

最初に出回ったニュースソースは、明らかにスピーチの一部であったし、その細かい言い回しにも、かなり疑問があった。たとえば、"Will I be supporting one side?"、とか、"I have only one purpose in writing novels, that is to draw out the unique divinity of the individual. To gratify uniqueness. To keep the system from tangling us. So - I write stories of life, love. Make people laugh and cry."、などだ。

I have come to Jerusalem today as a novelist, which is to say as a professional spinner of lies.

Of course, novelists are not the only ones who tell lies. Politicians do it, too, as we all know. Diplomats and military men tell their own kinds of lies on occasion, as do used car salesmen, butchers and builders. The lies of novelists differ from others, however, in that no one criticizes the novelist as immoral for telling them. Indeed, the bigger and better his lies and the more ingeniously he creates them, the more he is likely to be praised by the public and the critics. Why should that be?

My answer would be this: Namely, that by telling skillful lies - which is to say, by making up fictions that appear to be true - the novelist can bring a truth out to a new location and shine a new light on it. In most cases, it is virtually impossible to grasp a truth in its original form and depict it accurately. This is why we try to grab its tail by luring the truth from its hiding place, transferring it to a fictional location, and replacing it with a fictional form. In order to accomplish this, however, we first have to clarify where the truth lies within us. This is an important qualification for making up good lies.

Today, however, I have no intention of lying. I will try to be as honest as I can. There are a few days in the year when I do not engage in telling lies, and today happens to be one of them.

So let me tell you the truth. A fair number of people advised me not to come here to accept the Jerusalem Prize. Some even warned me they would instigate a boycott of my books if I came.

The reason for this, of course, was the fierce battle that was raging in Gaza. The UN reported that more than a thousand people had lost their lives in the blockaded Gaza City, many of them unarmed citizens - children and old people.

Any number of times after receiving notice of the award, I asked myself whether traveling to Israel at a time like this and accepting a literary prize was the proper thing to do, whether this would create the impression that I supported one side in the conflict, that I endorsed the policies of a nation that chose to unleash its overwhelming military power. This is an impression, of course, that I would not wish to give. I do not approve of any war, and I do not support any nation. Neither, of course, do I wish to see my books subjected to a boycott.

Finally, however, after careful consideration, I made up my mind to come here. One reason for my decision was that all too many people advised me not to do it. Perhaps, like many other novelists, I tend to do the exact opposite of what I am told. If people are telling me - and especially if they are warning me - "don't go there," "don't do that," I tend to want to "go there" and "do that." It's in my nature, you might say, as a novelist. Novelists are a special breed. They cannot genuinely trust anything they have not seen with their own eyes or touched with their own hands.

And that is why I am here. I chose to come here rather than stay away. I chose to see for myself rather than not to see. I chose to speak to you rather than to say nothing.

This is not to say that I am here to deliver a political message. To make judgments about right and wrong is one of the novelist's most important duties, of course.

It is left to each writer, however, to decide upon the form in which he or she will convey those judgments to others. I myself prefer to transform them into stories - stories that tend toward the surreal. Which is why I do not intend to stand before you today delivering a direct political message.

Please do, however, allow me to deliver one very personal message. It is something that I always keep in mind while I am writing fiction. I have never gone so far as to write it on a piece of paper and paste it to the wall: Rather, it is carved into the wall of my mind, and it goes something like this:

"Between a high, solid wall and an egg that breaks against it, I will always stand on the side of the egg."

Yes, no matter how right the wall may be and how wrong the egg, I will stand with the egg. Someone else will have to decide what is right and what is wrong; perhaps time or history will decide. If there were a novelist who, for whatever reason, wrote works standing with the wall, of what value would such works be?

What is the meaning of this metaphor? In some cases, it is all too simple and clear. Bombers and tanks and rockets and white phosphorus shells are that high, solid wall. The eggs are the unarmed civilians who are crushed and burned and shot by them. This is one meaning of the metaphor.

This is not all, though. It carries a deeper meaning. Think of it this way. Each of us is, more or less, an egg. Each of us is a unique, irreplaceable soul enclosed in a fragile shell. This is true of me, and it is true of each of you. And each of us, to a greater or lesser degree, is confronting a high, solid wall. The wall has a name: It is The System. The System is supposed to protect us, but sometimes it takes on a life of its own, and then it begins to kill us and cause us to kill others - coldly, efficiently, systematically.

I have only one reason to write novels, and that is to bring the dignity of the individual soul to the surface and shine a light upon it. The purpose of a story is to sound an alarm, to keep a light trained on The System in order to prevent it from tangling our souls in its web and demeaning them. I fully believe it is the novelist's job to keep trying to clarify the uniqueness of each individual soul by writing stories - stories of life and death, stories of love, stories that make people cry and quake with fear and shake with laughter. This is why we go on, day after day, concocting fictions with utter seriousness.

My father died last year at the age of 90. He was a retired teacher and a part-time Buddhist priest. When he was in graduate school, he was drafted into the army and sent to fight in China. As a child born after the war, I used to see him every morning before breakfast offering up long, deeply-felt prayers at the Buddhist altar in our house. One time I asked him why he did this, and he told me he was praying for the people who had died in the war.

He was praying for all the people who died, he said, both ally and enemy alike. Staring at his back as he knelt at the altar, I seemed to feel the shadow of death hovering around him.

My father died, and with him he took his memories, memories that I can never know. But the presence of death that lurked about him remains in my own memory. It is one of the few things I carry on from him, and one of the most important.

I have only one thing I hope to convey to you today. We are all human beings, individuals transcending nationality and race and religion, fragile eggs faced with a solid wall called The System. To all appearances, we have no hope of winning. The wall is too high, too strong - and too cold. If we have any hope of victory at all, it will have to come from our believing in the utter uniqueness and irreplaceability of our own and others' souls and from the warmth we gain by joining souls together.

Take a moment to think about this. Each of us possesses a tangible, living soul. The System has no such thing. We must not allow The System to exploit us. We must not allow The System to take on a life of its own. The System did not make us: We made The System.

That is all I have to say to you.

I am grateful to have been awarded the Jerusalem Prize. I am grateful that my books are being read by people in many parts of the world. And I am glad to have had the opportunity to speak to you here today.

翻訳が必要? はてさて、ではでは翻訳らしきものを

皆、僕を勝手に右や左にレッテル貼りする。でも、僕は本当にそうなんだろうか? 彼らの言うように、僕は本当に、明確に、ミギやヒダリに属しているのだろうか。果たして僕は、そんな単一の言葉で分類されるような、薄っぺらい人間なのだろうか。そんなわけはない。僕は僕だ。世界のどこかで戦争が行われていようと、僕は僕として生きていくだろう。みんなそうさ。

2009-02-16

昔の歌を聞いてみる

村上春樹の小説に、フリオ・イグレシアスのビギン・ザ・ビギンで、恐ろしい亀を撃退する話がある。曰く、「私もフリオ・イグレシアスは嫌いだが、幸いなことに亀ほどではない」と。この話はよく分からない。親父は、当時はフリオ・イグレシアスといえば、そういうものだったとのことだと笑うのみ。今日、ふと思い出して、youtubeで探して聞いてみたが、やはりよく分からない。まあ、退屈な歌ではある。なお、Begin the Beguineと綴るらしい。

他には、Simon & GarfunkelのMrs. Robinsonが気に入った。似たような感じの歌はないものか。

2009-02-12

謝罪文にはその内容を書くべきであることについて

Google Japan Blog: Google のマーケティング活動について

上記はGoogle日本公式のブログで、何かについて謝罪しているのだが、一体何について謝罪しているのかさっぱり分からない。Google Readerでみたときも、何のことか分からず読み飛ばしてしまった。二日してようやく、詳細が第三者により解説されてきたので、ここでもブログのネタにしてみる。リンクをクリックするのすら煩わしい人のために、全文引用してみるが、やはり分からない。

Google Japan では、製品を多くのユーザーに知ってもらうために、さまざまなプロモーション活動を実施しています。

今回、そのプロモーション活動の一部でブログを活用したことが、Google のサーチに関するガイドラインに違反することが判明し、このプロモーションに関しては中止しました。ご迷惑をかけた関係者各位とユーザーの皆さまにお詫びするとともに、再発防止に向けて、透明性の高いコミュニケーションに努めてまいります。

そこでこの私が、無償でこの文章を、分かりやすく書き直してやることにした。

Google Japan では、急上昇ワードという製品を多くのユーザーに知ってもらうために、さまざまなプロモーション活動を実施しています。

今回、その急上昇ワードのプロモーション活動の一環として、一部のブログユーザーに謝礼金を払い、宣伝記事を書かせたのもかかわらず、それを宣伝広告であると明示しておりませんでした。これが、Google 本社のサーチに関するガイドライン、すなわち、金を払って記事を買うという意味のPay Per Postなのにもかかわらず、そのことを明示しないことを禁止することに違反することが判明し、このプロモーションに関しては中止しました。ご迷惑をかけた関係者各位とユーザーの皆さまにお詫びするとともに、再発防止に向けて、透明性の高いコミュニケーションに努めてまいります。

なぜ連中にはこれが書けないのだろう。文章の意味を明確にするにあたって主語が必要なように、どの製品に対する謝罪のなのか、あの文章ではさっぱり分からないし、何が悪かったのかも分からない。

この問題は、マクドナルドのサクラを動員した行列演出と同じである。宣伝広告であると知らせていないというのが、悪質だといわれる所以だ。Google本社は、その手のサクラ、提灯記事を、検索の品質を下げる汚い行為だとして、該当ブログのページランクを最低にする措置を取っている。二年ぐらい前の話だ。

追記:PayPerPost自体が悪いのではなく、それを明示しないのが悪いのであるから、そのように書き直した。

2009-02-10

日本語に翻訳不可能な英語


Sony Releases New Stupid Piece Of Shit That Doesn't Fucking Work

これは絶対に日本語に翻訳できない。Never!

イギリスの少年は一年に87時間のポルノを観る

http://www.techradar.com/news/internet/uk-teens-view-87-hrs-of-porn-per-year-525990
Digg - UK teens view 87 hours of porn per year

やはりというか当然というか、Diggのコメントが予想通りだ。

驚きはしないな。うん。

一晩にたったの14分かよ。

少なすぎるだろ。月に87時間が正しい。

いや、奴らはソフトポルノにしか言及していない。つまりハードコアな奴は別計算だな。

ハードな奴が別計算だとしたら、これは長すぎるぜ。誰がソフトポルノなんて観たがるんだよ。

俺は一日87時間のポルノを観るぜ。

つまりお前は、一日中、5台のコンピュータに囲まれていて、4台でYouPornを映し、残りのひとつでDiggをやってるわけだな。

俺は一時間あたり87時間のポルノを観るぜ。

つまりお前は、一日中、88台のコンピュータに囲まれていて、87台でYouPornを映し、残りのひとつでDiggをやってるわけだな。

当時、俺らは500時間は費やしてたぜ。56kのモデムはありがたいね、ほんとに。

56kだと? 俺らの頃は14.4kで動画はナシだ。それでも幸せだったんだぜ。

14.4kだと? 俺らは300ボーで、手動でダイアルして、応答を聞き取り、受話器をモデムに密着させるんだ。お前らガキはブロードバンドとやらで幸せなこったな。

2009-02-08

急がば回るべきかは微妙

「急がば回れ」ということわざの元ネタは、琵琶湖である。当時、江戸方面から京都に行くには、どうしても琵琶湖の南端よりすこし北あたりを通らなければならなかったのだが、その琵琶湖の南端を、船で渡るか、あるいはもうすこし南に行って、橋を渡るかという選択を迫られた。何しろ船は転覆の恐れもあるし、いろいろと問題だった。しかし、橋を渡ろうとすれば、当時のこととて徒歩で行かねばならぬので、半日潰れてしまうだろう。急がば回れという言葉は、今日からみれば、教訓のように思えるが、当時の人の感覚は違ったはずだ。正解のない選択をさせられていたというのが正しいのではなかろうか。

なぜこんなことを言うかというと、その琵琶湖の場所を、実際に見てきたからだ。いや、確かに目で見てみると、回るべきかどうかは、ちょっと考え込んでしまう。何時間も回り道をして歩いていくのは大変だ。それなら船でまっすぐ超えたいものだ。ということを、車に乗って考えていた。便利な世の中になったものだ。

仁和寺の法師の話とよく似ている。

wikipediaにおける南蛮人ってアホなんじゃなかろうか

Digg - Edits to the Wikipedia entry on "Evolution" over four years

なぜ南蛮人は、かくもカルト宗教を信じたがるのか。周知のように、真実にして虚しからざる正真正銘の定理は、預言者ボビー・ヘンダーソンが説き給うところのFlying Spagetti Monster様に極まっている。

Diggでの反応は以下の通り。

地球温暖化にも適用してみてくれ。
あるいは、サラ・ペイリンとか、911とか、イラク等々

創造主義者達がインターネットを使えるとは思わなかった。
インターネットは神によりたびたもうたものなれば。
七日目に、神は休息をとらざりし。神はネットを使われた。そんでもって、これをDuggしたのは神じゃあないと思うぜ。

2009-02-07

TOEICのスコア

去る一月に、TOEICを受けてきた。今回は自信があった。何しろ、全部回答できたからだ。前回受けたのは、高校二年生の時分だったが、Readingを最後まで解けなかったのだ。

そして、たった今、スコアが送られてきた。815点だった。730点超えは固いと思っていたら、800点を突破するとは。悪くない。

思い出すのは、高校二年生の時に受けたTOEICだ。確か、630点だった。

GmailでTOEICについてのメールを送ろうとしたら、TOEICの広告が表示された。曰く、「基礎からTOEIC990点へ。英会話ダメな理由は弱い基礎英単語。」、「ユーキャンでTOEIC初挑戦。500点から730点対応。初挑戦でも 無理なく目標スコアが狙える !」等々

こんな広告にホイホイつられるやからがいるのだろうか。哀れなことだ。単語なんていくらでもあるのだから、暗記しても仕方がない。そもそも、TOEICは明確に何点を取るということを狙って受けるものなのだろうか。満点を取るというのは別として、自分の今いる相対的な位置を知るものではないのか。

しかし、TOEICで満点を取るというのは、マーク記入ミスを一切しないというのはもちろんのこと、リスニングの最後の方の問題で、英語力とはあまり関係ない暗記力が要求されるのではなかろうか。

2009-02-06

UACとmalware常駐率はあまり関係ないらしい

Engineering Windows 7 : Update on UAC

VistaでUACの有効無効を設定しているユーザーは、ちょうど半々ぐらいで、malware常駐率は、変わらないらしい。むしろソフトウェア開発者に、一般ユーザ権限でも問題なくうごくプログラムを作らせるのが利点なんだとか。そうすれば、一般ユーザでログインすることができる。

2009-02-05

スズメの焼き鳥

 ◇伏見稲荷参道の焼き鳥

 京都市伏見区の伏見稲荷大社の参道で、大正時代から続く名物「スズメの焼き鳥」を売る店が今年の三が日でまた一つ姿を消し、2店だけになった。スズメを捕る猟師の高齢化や禁輸による中国産の在庫切れなどで、原料が手に入りにくくなったのが原因。参拝客からは惜しむ声も出ているが、販売を中止した料理屋は「ないもんはしゃあない」とため息をつくばかり。市井の伝統料理が幻の味になる日も近い?【木下武】

 ◇猟師減り材料難、残るは2店

 伏見稲荷大社は商売繁盛と五穀豊穣(ごこくほうじょう)の神様。名物の焼き鳥は、穀物を食い荒らすスズメ退治のために始まったとされ、参道で販売されてきた。

 材料は中国産スズメが多用され、参道やその周辺の飲食店6、7店で売られていたという。しかし、中国政府が99年12月に食用の加工品も含めた野鳥の輸出を禁止。店の関係者によると、在庫の中国産冷凍スズメに頼るか、国産への切り替えを余儀なくされた。その冷凍モノも昨春ついに在庫が切れ、2店が撤退。別の1店もこの正月三が日をもって販売を終了した。

 国産もピンチだ。スズメの生態に詳しい立教大理学部の三上修・特別研究員によると、町中で営巣する緑地の減少などから近年急減している。

 国産で販売を続けている食事処(どころ)「稲福」は京都、兵庫、香川県などの猟師から仕入れているが、確保できる量はピーク時の3分の1にすぎない。値段も1本450円と中国産の約2倍。スズメ猟の後継者は少なく、今後も先細りしそうだという。

 稲福の本城忠宏社長は「国産スズメのおいしさを知ってほしいが、猟の技術が受け継がれなければ息子の代にはスズメの焼き鳥がなくなっているかもしれない」と危惧(きぐ)している。

そういえば、前に伏見稲荷に行ったとき、「スズメ」と書かれたノボリがあった気がする。あれは本当にスズメだったのか。一体どんな味がするんだろう。

こっちは少し気になるWindows7 のUACの問題

Second Windows 7 beta UAC security flaw: malware can silently self-elevate with default UAC policy

前回は、キー入力をエミュったらUACを無効化できるよというもので、まあ、微妙だったけれど、こっちはちょっと問題かもしれない。MSによって署名されている、UACをバイパスできるプロセスにDLL注入したら、そのDLLもUACをバイパスできるよというものだ。しかしこれ、モジュールごとの署名じゃないのかな。だとしたら、すべてのプログラムにいえると思うのだけれど。DLL注入はほとんどのプロセスに対して行えるわけだし。

あらかじめ通信が許可されているプロセス、例えばIEにDLL注入したら、ファイヤーウォールに引っかからないよってのが、昔話題になったような。

2009-02-04

こりゃひどい

元麻布春男の週刊PCホットライン

AeroのないWindows 7(画面をCPUで描画する)と、GDIアクセラレーションが利用できる現行のWindows XP Home(画面描画にGPUの助けを得られる)の、どちらがネットブックのプラットフォームにとって幸せなのかは、微妙になるかもしれない。

XP時代にGDIアクセラレーションは廃れていたし、そもそも、あの手の極限まで安くしたPCに、GDIアクセラレーションなんてつけるだろうか。そして、Windows 7では、GDIアクセラレーションが復活するというのもすでに知られた話。ベンダーが提供するかどうかは別の話だが。まあ、いわゆるテクニカルライターってやつか。

追記:とおもったら、ちゃんとAeroなしのWindows 7と書いてある。うーん。そういえばAero有効でGDIアクセラレーションも有効になるという観測結果もあったような。どうなんだろ。

2009-02-03

面白い音

ChucK 日記:マイクトリガー

オーディオに特化したプログラミング言語Chuckを使い、マイクの入力からプログラム的に音を生成しているのだとか。音楽は良く分からないが、面白い。

2009-02-02

somebody caimed Windows 7's new UAC has a security vulnerability. But what is the problem anyway?

Microsoft dismisses Windows 7 UAC security flaw, continues to insist it is “by design”
Sacrificing security for usability: UAC security flaw in Windows 7 beta (with proof of concept code)

In the above site, a guy claimed Windows 7's new UAC behaviour has a security issue where if user choose "Don’t notify me when I make changes to Windows settings", a malware gained the administrator privileges, by simulating key input to change UAC setting.

So what is the problem anyway? It is the user who asked "Don't show that damn UAC prompt when i make changes to the Windows settings", and UAC level setting is a Windows setting, sure, Windows doesn't. The user still choose "notify always brainlessly" to prevent it. It's that simple and consistant.

This guy also claimed that, to fix this issue, Windows makes a exception so making changes to the UAC setting itself shows UAC prompt with Secure Desktop mode. But that's against the rule.

Microsoft officially said to this guy that "In order for malicious code to have gotten on to the box, something else has already been breached". True. Once bad program launched, it read user folder and send it to internet using default browser.(bypassing firewall and UAC doesn't work in this case)

おお、最近、英語がスラスラ出てくるようになってうれしい限りだ。ここまでくるのに、一年以上かかった。毎日なれない英語でチャットしていた。

2009-01-30

擬古

When you have only 16KB of memory, you can't afford to waste any of it on fluffy stuff

16KBしかメモリがなければ、重複したチェックなんて入れる余裕はないという話。

The story of Mel, a Real Programmer

Melという、本物のプログラマの話。

2009-01-28

VC10のインテリセンスについて

Visual C++ Team Blog : Dev10 Is Just The Beginning

過去の記事
http://blogs.msdn.com/vcblog/archive/2007/12/18/intellisense-history-part-1.aspx http://blogs.msdn.com/vcblog/archive/2008/02/29/intellisense-part-2-the-future.aspx

我々が初めて C++のintellisense を実装したときは、想像以上に悲惨であった。まあ、ユーザはそれほど期待していなかったというのもあるのだが。何より早さが必要だった。しかし、テンプレートや複雑なオーバーロードで動かないというのであれば、不満も出るだろう。当然ながら、我々はC++コマンドラインコンパイラのフロントエンドを、インテリセンスにも流用したかった。が、それはintellisenseを考えて設計されたものではない。それは256Kのメモリを積んだ16 bit DOS上で実行できるよう設計されていた。ステートメントをひとつずつパースし、解析し、即座にアセンブリレベルのintermediate言語に落とし込むのだ。intellisenseに向いた設計というのは、字句解析と意味解析を分けておくものなのだ。意味解析は重い処理なので、intellisenseの為には、ユーザが知りたい部分にだけ適用したい。我々はintellisenseのために、新しいC++フロントエンドを書くことも考えた。結局我々の結論は、C++はとても複雑だ、ということだった。ひとつのプロダクトサイクルに間に合わない程、時間がかかるので、もっと手っ取り早くやりたかった。そこで我々は、コマンドラインのC++コンパイラを元に、ifdefを画期的に用いて、intellisenseコンパイラに仕立て上げた。我々はintellisenseコンパイラを、FEACPと呼んだ。Front End Auto Complete Parserの略である。コマンドラインコンパイラは、C1XXと呼ばれていた。これは、C++ phase 1の事だ。ifdefはC1XXコードから、あらゆるintermediate言語に落とし込む処理を省く為に使われた。また、必須でないと思われる意味解析も省いた。初期化、メンバオフセット計算、vtable生成など。当時のCPU速度は、たったの100MHz程度だったので、C1XXの多くのコードを削り、ドロップダウンウインドウを100ミリ秒以内に表示させる必要があった。必須でないメモリの使用も省かれ、シンボルに対する情報もわずかしか保持しなかった。これは特に重要な事だった。なぜならば、FEACPはIDEプロセスの中で動かなければならないからで、IDEはすでにかなりのメモリを使っていたからだ。

FEACPの製品化は成功したものの、そのテストとメンテナンスは悪夢であった。ifdefで削ったために、多くのコードやデータの依存性の問題があった。頻繁にクラッシュするし、NCBファイルが壊れることも多々あった。メンテナンスは重労働であった。というのも、FEACPとC1XXは、あまりにも異なっており、C1XXに対する、一日数百万行ものコードによるテストは、FEACPの品質にあまり貢献しなかった。かなり別々にテストするを余儀なくされた。教訓としては、二つの異なるコンパイラを、同じソースコードでサポートするのは、二つの完全に別なコンパイラをサポートするより、多少マシなだけであり、どちらも長期的なメンテナンス性では、あまり良い選択とは言えない。実を言うと、コンパイラは三つあった。ANSI-Cは、また別のifdefの塊だったからだ。本当は、四つあった。/analyze コンパイラを含めるならば。

FEACPをリリースした年に、我々はifdef地獄の行ける所まで突き進んでしまった事に気がついた。同時に、もっと単純な、JavaやC#といった言語に対するintellisenseの出来栄えが、ユーザのintellisenseに対する期待を、FEACPでは実現不可能なレベルにまで押し上げてしまっていた。今日の千倍早いCPU速度とメモリ容量では、FEACPを選択した、当時としての妥当な理由は、もはや成立しなくなってしまう。さらに、あまりに増えすぎたifdefとその結果のコンパイラモデルは、C1XXに対する言語機能の追加を困難にしてしまっていた。バグ数はうなぎ上りで、言語の差はいや増すばかり。それと同時に、十分な能力を持ち、C++コンパイラの仕事をしたいと思う者も減っていった。何とかしなければならない。

近年のPCの速度と容量であれば、ひとつのコンパイラで、C++のコード生成とintellisenseの両方を行えるはずである。我々に何が欠けていたかというと、ソースコードの high-level internal representation である。それさえあれば、intellisenseの要求するサービスに対して、representationを流し込むこともできるし、マシン語に落とし込むこともできる。フロントエンドを蝕む、何千個もの#ifdefは必要なくなるし、コンパイルのモデルもひとつですむ。テストにかかる労力も劇的に減る。新人のコンパイラ開発者も入りやすくなる。しかし、手放しで手に入るわけではない。GHzクロック速度をもってさえ、すべてのintellisenseのリクエストに対して、すべてのコードに完全なフロントエンドを実行することはできない。我々は、完全なフロントエンドを、期待される結果をもたらす、必要な部分にのみ適用する、新たなintellisenseのフレームワークを作らねばならない。まだやることはたくさんあるが、ひとつのプロダクトサイクルの中で実現できるはずだ。そしてやり遂げた。Dev10は、その結果だ。

ここまで読んだ読者は、こう疑問に思うことであろう。「ふむ、軽量化に成功したんだな。マイクロソフトにとってはいいことだろうよ。でも俺にとってはどうなんだ」と。intellisenseに最も重要な機能は、精度である。Visual C++は何百万行ものコードを、ビルドラボや世界中のPCで、毎日コンパイルし、5 / 9程度の精度を持っている。intellisenseがコマンドラインコンパイラと同等になるということは、同等の精度を持つということだ。これはC++のintellisenseにもたらす、最も大きな変化である。

精度が高いというのは、自動補完のドロップダウンで正しいメンバを得られる以上のことを意味する。その他の、不可能や無謀だった機能をも、可能にするのだ。例えば精度で言うと、intellisenseのパース中に見つかったエラーは、本物のエラーである。したがって、編集や閲覧中のエディタウインドウに、「さりげなく」表示することもできる。これはわざわざファイルを保存してビルドを始めなくても、警告が得られるということだ。

そのほかの精度の利点としては、データはコード解析や変形に使えるほどの精度だということだ。例えば、ソースコードのリファクタリングなどだ。Dev10では、expression-level のデータのアクセスを提供させるのは時期尚早だ。ユーザはソースコードのシンボルを眺められる。将来的には、ユーザがアクセスできるAPIを提供し、C++のソースコード対する高精度の情報にアクセスできるようにする。これはWindowsのC++に対する、まったく新しい解析や理解、生産性のツールの環境となるだろう。

N2530について

このN2530自体、だいぶ古い。しかし、どうやらこれが最新版のようだ。現行ドラフトに取り入れられているものとは、だいぶ変わっている。

内容としては簡単なもので、type_infoを連想コンテナに入れられるようにしましょうというものだ。具体的には、unordered containerへの対応と、type_infoのラッパクラスであるtype_indexの定義である。

type_infoのメンバ関数、hash_code()の戻り値については、N2530では、以下の通りになっている。

an unspecified value, except that within a single execution of the program, two type_info which compare equal should return equal values.

具体的な値は規定されない。ただし、プログラムのある実行中において、同等と比較される二つのtype_infoは、同じ値を返した方が良い。

これはもちろんありえない。同等と比較されるのであれば、同じ戻り値を返すことが保障されていなければ、意味がない。現行ドラフトでは、以下のようになっている。

an unspecified value, except that within a single execution of the program, it shall return the same value for any two type_info objects which compare equal.

具体的な値は規定されない。ただし、プログラムのある実行中において、あらゆる二つの同等と比較されるtype_infoのオブジェクトは、同じ値を返さねばならない。

現行ドラフトでは、本来の意図通りのshallとなっている。また、細かい言い回しが変更されている。とくに、type_infoのオブジェクトとなっているのが、分かりやすいと思う。

ところで、ひとつ問題がある。それは、hash<type_index>に関するものだ。18.6.2.2で、規定しているのだが、N2530にある、特殊化の宣言部分は、現行ドラフトに入っていない。そして、もうひとつ重大な問題がある。hash関数自身の文章だ。hash関数は、20.6.17で規定されているのだが、以下のようになっている。

This class template is only required to be instantiable for integer types (3.9.1), floatingpoint types (3.9.1), pointer types (8.3.1), and std::string, std::u16string, std::u32string, std ::wstring, std::error_code, std::thread::id, std::bitset, and std::vector<bool>.

std::type_indexに言及していないが、いいのだろうか。

2009-01-26

デフラグにまつわる妄信を払う

Disk Defragmentation – Background and Engineering the Windows 7 Improvements

この内容はほとんどWindows Internalsに書いてあるが、一般人があの本を買って読むとは思わないので、これを読んでおくべき。デフラグに関する妄信が解ける。

Windows 7では、デフラグに関する分かりやすいUIが追加された。といっても、あのゲージが移動する動作状況を表示するUIではない。デフラグの本当の動作状況を表示するとなると、ランダムにドットが移動しているだけになるだろう。新しいUIというのは、ディスクのフラグメンテーション率などを表示するUIのことだ。また、デフラグのスケジュールを設定できるUIもある。もちろん今でも、タスクスケジューラから設定できるが、一般人はタスクスケジューラを使ったりしない。そこでUIを作ったのだろう。

また、今まで移動できなかった多くのNTFSのmetadataが移動できるようになったらしい。

それと、ディスクがSSDであることを検出した場合、そのディスクに対してはデフラグを無効にするようにもなった。どうせSSDにはデフラグしても意味はないのだから。

神をgodと訳すのは誤訳である。

Bukkake of the Gods: Japan's Insane Creation Myths

まあ、間違っちゃいないけどさ。神をGodと訳すのだけは間違っている。日本には、お前ら白人が考えるようなreligionなんてないんだよ。

そして紹介の仕方が、なんともなぁ。間違っちゃあいないけどさ。なんにでも神がいるんだから、そりゃvomit godsもいるさ。

ついでに、天照大御神を天の岩屋戸から出す話とか(胸乳をかき出て裳緒を陰に押し垂れき)、大気津比賣神に食物を差し出させる話(鼻口また尻より、種種の味物を取り出して)なんかも紹介すればいいのに。絶対気に入ると思う。

雪のおもしろう降りたりし朝

雪のおもしろう降りたりし朝、人のがりいふべきことなくんば、文やるかたもなし。

京都の朝の雪はすばらしい。散歩でもしてこよう。

追記:なかなか悪くない。

最近気になったニュース

fallout 3スレでネタにしていたのもこの私だが、最近ブログのネタもないもので、ここにも書いてみる。このニュースが気になった。

The 7 Worst Tech Predictions of All Time

"Nuclear-powered vacuum cleaners will probably be a reality within 10 years."

Alex Lewyt, president of vacuum manufacturer Lewyt Corp., 1955

原子力掃除機というものは、今後十年以内に実現できるだろう。

1955年、掃除機会社の社長、Alex Lewyt

Earliest weapons-grade plutonium found in US dump

一部引用

Update: Since publication, Jon Schwantes has discovered that a microgram sample of plutonium produced in 1942 by Glen Seaborg's group at the University of California in Berkeley is also plutonium-239. The sample discovered at Hanford is technically the second oldest sample of plutonium-239, but remains the earliest produced during the Manhattan Project and the first bulk batch anywhere.

An old glass jar inside a beaten up old safe at the bottom of a waste pit may seem an unlikely place to find a pivotal piece of 20th century history. But that's just where the first bulk batch of weapons-grade plutonium ever made has been found - abandoned at the world's oldest nuclear processing site.

But despite its historic significance, Schwantes doesn't plan to put the sample in a museum. He is working with New Brunswick Labs to create a standard reference sample for plutonium-239 from the material, partly because of its primacy as the oldest sample. "The other factor is its extreme purity - 99.96% plutonium-239 is as pure a sample of 239 I have seen produced from any reactor," says Schwantes.

まず最初の記事は、馬鹿げた技術予測の発言集というもので、有名なものとしては、"640kb ought to be enough for anybody."があるが(ビルゲイツが言ったかどうかは不明なのだが、それに良く似た実話はある。)

とにかく、1950年代のアメリカというのは、原子力に対して魔法のような期待があった。原子力を使えばなんでもできるという期待があったのだ。原子力で動く車や飛行機なども、まじめに研究されていた。原子力は確かにすばらしいのだが、何しろ被爆の問題があるので、そうおいそれと使うことはできない。結局、無尽蔵の電力が必要な潜水艦や、太陽から遠すぎて太陽電池が使えない惑星探査機などにしか用いられていない。ある意味残念なことではある。技術的には、持ち運びできる大きさの原子力電池が作れるはずであり、ノートパソコンを百年以上使い続けられるはずなのだ。しかし、ハンマーで叩き壊しただけで被爆するとあっては、そりゃあ実用化できるわけがない。

次のニュースは、ハンフォードの昔の核施設のゴミ山に捨ててあった、古い金庫の中に、世界で二番目に古い、精製されたプルトニウムが見つかったというもの。昔は核の取り扱いがおざなりで、そのゴミ山は放射能で汚染されているのだとか。しかも、そのプルトニウムの純度は99.6%であり、現代としても、研究試料として最高の純度であるという。

そう、ドクはフラックスキャパシターに必要な1.21ジゴワットを出すにあたって、プルトニウムを手に入れるの為にリビアのテロリストをだます必要なんてなかったのだ。ただハンフォードのゴミ山をあさるべきだった。まあ、一般人が立ち入れるかどうかは別として。

ともかく、昔は核に対する取り扱いが極めて雑だった。現代としても最高純度のプルトニウムが、ゴミ山の金庫の中に、それもスチールの机みたいな簡易な金庫の中に放置されているとは、おろそかすぎる。

なぜこんなニュースが気になるかというと、今、Fallout 3をやっているからである。

このゲームは、1950年代のアメリカ人が考えそうな未来という設定である。時代は2277年、2077年に起きた、米国と中国の間の大戦争(Great War)により、大規模な核爆撃が行われ、地球は不毛の地になったというものだ。草木はなくなり、すべての水は放射能汚染され、放射線を浴びた人間はゾンビとして不死になっており、また放射線によってスーパーミュータントという怪物が作り出された。いたるところで、戦前(2077年以前をさす)の遺物が残っているのだが、原子力電池や原子炉がとても気軽に使われている。たとえば、車の残骸は銃で撃つと爆発し、しかも、あたりは放射能汚染されるという有様である。

まあ、いかにもゲームらしい設定といってしまえばそれまでなのだが、この手のニュースを見るにつけ、どうも笑えなくなってくる。

聞説、XBox360やPS3で発売されている日本語版のfallout 3は、Fatmanという武器の名称が変更されており、また、原爆を爆発させるクエストも取り除かれている。余計な自主規制というものだ。それに、これはアメリカの話であり、アメリカの文化背景をネタにしたブラックジョークが随所にちりばめられており、日本語で楽しむのは不可能である。例えば、日本語でアンクルサム(Uncle Sam)といって、日本人の誰がその名前の意味するところを知っているだろう。ゲーム中では、"I have a private message from Uncle sam for you."などといった言葉がでてくる。それ真にFallout 3を楽しみたい者は、英語版を買うべきだ。日本語版を買っても後悔するだけである。だいいち、ゲームパッドのスティックで照準を動かすのは苦痛である。

2009-01-24

またかよデマゴーグ橋本

 橋下知事は冬の体育の授業にダウンジャケットを着て参加する子どもがいることを挙げ「冬でも半袖、半パンが原則。できない子どもにはフォローが必要だが、体力増強のためにはやり方がある」と持論を展開した。

静岡の西部(強風極まりない環境)ですら、小学生の頃は年中半パンを貫き通したこの私だが、体力増強には何の役にも立たない。根性で体力が上がると思ったら大間違いだ。運動をして体が温まってきたら、半そで半パンになってもいいかもしれないが、ウォームアップ時はウインドブレイカーぐらい着るだろう。

2009-01-23

意欲の沸かない時のための、面白リンク

いい加減に職業プログラマになることはあきらめたが、しかし意欲が出ない。最近は、読書と、昔の映画観賞と、ゲームで過ごしている。何とかしなければ。

とにかくこういう時は、問答無用で面白い動画や画像を見て笑うに限る。笑うことを学ぶのは重要だ。かの摩訶迦葉も笑ったではないか。

メキシコのプロレス

問答無用で面白い画像。

エクストリーム・バブルラップ(プチプチ君つぶし)。のどから手が出るほど欲しい。

エクストリーム・???。なんとコメントしていいのやら。

エクストリーム・フィッシング。コメントの必要なし。

エクストリーム・キャットハウス。レゴで作れないものは存在しない。

エクストリーム・クッキング。楽しいレジャーには、おいしい野外料理がつき物です。

エクストリーム・ウェブブラウジング。Let's play Crysis!

エクストリーム・ランチ。見晴らしは最高。

エクストリーム・メジャーメント。CRTはゆがみがあるので誤差に注意されたし。

エクストリーム・デロリアン。Don't forget to implement flux capacitor.

エクストリーム・フィッシングの成果。

2009-01-20

映画に思う

余、ひそかに思うらくは、今日のハリウッド映画は、ネタに困っているのではなかろうか。

まず、仮想敵というのがいない。冷戦、東西対立といったことがないし、ロシアや中国とは、ある程度の軋轢があるとはいえ、全面戦争などとなると、どう考えても自国の経済に与える影響のほうが大きいので、起こりようがない。北朝鮮や中東のカルト信者は、しょせん世界戦争を引き起こすだけの力はない。だから、宇宙人が攻めてくることもない。

未来への憧れというものもない。一時期、近未来ものの映画やドラマがたくさんあった。たいていは、時代を二千数十年に設定している。そこでは、車は空を飛ぶし、みんな画一的で個性のない、体にぴったりフィットする服を着ている。しかし、車が空を飛ばないのは、技術的なこともあるとして、個性のない服というものは、まったく問題はないはずだ。しかし、はやらない。やはり、個性が欲しいのだろう。

昔はSF小説が好きだったのに、今はSFなど、誰が書いているのか知らないし、読む気もしない。火星人がいるだとか、月にモノリスがあるだとか、土星に着陸するだとか、今日び、誰もそんなSF小説を書けやしないのだ。

2009-01-18

他言語を背景も含めて理解するのは難しい

TOEICのアンケートの部分に、英語の経験年数を答える欄があった。五、六年ぐらいだろうかと数えてみると、中学、高校、その後四年間とあわせて、なんと私は、実に十年も英語の経験がある計算になった。考えてみると、だいぶ長い間英語を学んでいるものだ。もちろん、かなり荒っぽい独学による学び方だが。

さて、振り返るに、私の英語力は、明らかに年々向上していると実感できる。今や、私はMSDNなどの技術文章を問題なく読むことができ、ハリーポッターなどの小説を楽しむこともでき、OblivionやFallout 3を字幕なしで遊ぶことができ、映画を英語字幕なしで観ることもできるようになり、Monty PythonやSouth Parkで爆笑することもできるようになった。

しかし、まだぜんぜん足りない。

さきほど、映画、Back to the Futureを観ていた。何でも、親父がふと欲しくなって買ってきたらしい。その中の、1955年のある場面で、WurlitzerのJukeBoxがあった。と、後から「WurlitzerのJukeBox」と書いてしまうのは簡単だが、私はWurlitzerを知らなかった。ただ、そのジュークボックスの形状は見知っていた。Fallout 3にでてくるジュークボックスだ。この形は有名なのだろうか。驚いたことに、JukeBoxでググると、イメージ検索で出てくるのは、ほとんどこの形である。どうやら、1950年代に、ジュークボックスといえば、この形だったらしい。Fallout 3というゲームは、1950年代の人が創造した未来というコンセプトがある。だから2277年という未来にもかかわらず、ディスプレイにはブラウン管を使っているし、コンピュータはCUIで、しかも巨大なテープデバイスまである。その世界に、このWurlitzerのジュークボックスを、よくみかける。なぜこんな形なのだろうと思っていたが、まさかこれが最もメジャーな形だったとは。

英語は上達したものの、アメリカの文化や時代背景をしらないので、真に理解できていなかったという話。

なお、Fallout 3では、いわゆるプロパガンダのため、"The Battle Hymn of the Republic"という音楽を流しているラジオというのがある。これも、日本人には理解できない。なぜならば、この歌の有名な邦訳が、原曲をまったく連想できなくしてしまっているからだ。

阪田寛夫作詞 ともだち賛歌

ひとりと ひとりが うでくめば
たちまちだれでも なかよしさ
やあやあ みなさん こんにちは
みんなであくしゅ
空には お日さま
足もとに 地球
みんなみんなあつまれ
みんなでうたえ

このメロディは、「権兵衛さんの赤ちゃん」という歌でも使われており、こちらは"John Brown's Baby"という歌の翻訳になっているのだが、これとて、もともとは"John Brown's Body"だったのだ。日本では、軍歌としてはまったく有名ではないので、Fallout 3でこの歌がかかっても、日本人である私は、どうしても、「ともだち賛歌」が頭に浮かんでしまう。

2009-01-11

TOEIC終了

五年ぶりにTOEICを受けてきた。前回は630点だったが、今回は何点とれるだろうか。手ごたえはあった。なにしろ、問題を全部解くことができたからだ。前回は、リーディングを最後まで終えることができなかったし、リーディングの理解の実感も少なかった。今回はかなり自身がある。

現在、すっかり疲れきっている。何しろ、二時間もの間、極限の集中力を持続させないといけないのだ。二時間も集中しなければならないというのは、日常生活ではまずないことなのだ。私のGoogle Readerは、ほとんど英語ブログで埋まっており、一日の大半を英語を読み、聞き、チャットしてすごすといえども、辞書を使うことができ、好きなだけ時間をかけられ、何度でも読み返したり聞き返したりできる環境なので、そう疲れはしない。ただTOEICは、聞き逃すとそれっきりなので大変だし、読み間違えると正解できない。ものすごく疲れた。とにかく疲れた。ビールがやけにうまい。

2009-01-10

特急天使、ネット対戦の描画バグ

ネット対戦のときのみ、描画がおかしくなり、ふしぎなゴミが移る。このマップ以外にも、ほとんどのマップで、不思議な別マップの残像のようなゴミが描画される。

GPUはGeForce GTX260。