2007-09-19

ゲーム終了とか発展途上の静岡国とか

http://www.rbbtoday.com/news/20070918/44953.html  これはもはや、ゲームなどやっているほうが少数派ではないだろうか。DSだけは8割だが、ゲームと呼べないソフトが出すぎている。純粋に遊ぶためのゲームは3割程度。  かく言う私も、もはやゲームなどしていない。ニコニコ動画に上げるためだけに、たまに昔のゲームをやったりするだけだ。 http://www.mainichi-msn.co.jp/chihou/shizuoka/news/20070918ddlk22040053000c.html  やれやれ、静岡は相変わらずだ。大部分の静岡は、恐ろしく辺鄙なド田舎だ。近代文明の恩恵を受けていない土人しか住んでいない。まあ、人の住むところではない。

2007-09-15

近況

 最近、まともにブログを書いていないが、これには理由がある。意欲がない。  もちろん、書きたいことはあった。たとえばVistaで音楽を聞いているとネットワークのスループットが低下するだとか。 Vista Multimedia Playback and Network Throughput Windows Vista Sound causes Network Throughput slowdowns.  どうも最近、最新技術への興味が沸かない。昔は知識こそなかったが、意欲に満ち満ちていたのに、どうしたことだろう。そもそも、私は何かをプログラミングしたいのではなく、プログラミングそのものに魅せられていたのかもしれない。昔はC++どころかCの文法すら理解していなかった。MSDNは辞書と首っ引きで読んだ。今はどうだ。テンプレートメタプログラミングはすばらしく面白いし、英語はサウスパークを見て笑えるほどに上達した。しかし、その知識を使って、何かやりたいことというものが存在しない。  そもそも、今の時代にC++など何に使うというのか。 C++が必要なのは本当にごく限られたところだけだ。WindowsのGUIはVistaの登場で、ようやく.netに移るだろうし、WebはXHTMLやJavaScriptやFlashになるだろう。(JAVA? 忘れてくれ。あの思想は吐き気がするほど嫌いだ) C++が必要とされているところには、C++以外にも高度な知識を要求されているが、私には興味のないことばかりだ。  一番最後にプログラミングしたのは、クソなキャプチャデバイス付属のソフトウェアのためのworkaroundだ。このクソなキャプチャデバイス専用のクソなソフトウェアは、キャプチャした動画ひとつにつき、ひとつのディレクトリを作り、その中に、ディレクトリ名と同じ動画ファイルと、キャプチャ時の情報を記録したファイルを作る。このファイルはキャプチャソフトだけが後で、キャプチャ済みの動画一覧を見せるときに使う。こんな感じだ。 +07年08月01日01時01分 S端子  - 07年08月01日01時01分 S端子 +07年08月01日01時12分 S端子  - 07年08月01日01時12分 S端子 +07年08月01日01時15分 S端子 001  - 07年08月01日01時01分 S端子 +07年08月01日01時15分 S端子 002  - 07年08月01日01時12分 S端子  ごらんのように分までかぶった場合は、ディレクトリに001~からなる番号を振る。  何がしたいんだ、このカマ臭いソフトウェアを書いた奴等は。取った動画をそれ専用のディレクトリに格納したままにしておくとでも思っているのか。しかたなく、ディレクトリを列挙し、その中にある動画ファイルを別の場所に移動し、その後でディレクトリを削除するコードをC++で書いた。昔はあんなに苦労したファイルの列挙、中身にファイルのあるディレクトリの削除などが、一瞬で書けた。これをするには、分かりづらいMSDNを読まなければならない、APIと構造体の説明が別々のページにあるので、多数のページを参照しなければならない。まあ、今となっては慣れた。しかし、これは、別段C++でやらなければならないことでもない。  学校も、たぶん今年で辞めるだろう。どこか働き口を見つけるつもりだ。この業界ではない。健康のために、適度に体を動かせるところがいい。あくせくせずに、定時に帰れるかフレックスタイムで、労働基準法に違反していないところ。金は男一人食っていけるだけあればいい。  なんという非生産的で無気力なんだろう。私も歳を取ったのだろうか。

Vistaのインストールが難航

 MSの学生専用のVistaディスクがある。1980円だ。ちょっと前に買っていたのだけれど、インストールするべきPCがなく、放置していた。ところで、昨日になって、プロバイダ契約をしたときに、無料でHDDをもらったことを思い出した。ただし、IDEに空きがなく、そのまま放置していたものだ。そこで、HDDだけ付け替えて入れてみることにした。  まず最初は、何も問題はなかった。インストールは終了したが、問題はドライバである。マザーボード内蔵のNICのドライバがない。仕方がないので、XPのものを入れてみたが、どうやら動いた。nvidiaからさっそく最新のドライバを落としてきて入れる。ここまでは良かったのだが、リブートをかけると、なぜか起動しなくなった。しかもBIOSで、HDDからブートできない旨を示すメッセージと共に止まる。不思議に思い何度かリブートしている間に、どうやら起動した。  よくわからない。疑問に思いながらCreativeからもドライバを落としてきてインストールし、また再起動……しない。  今度は、どうしてもブートしそうにないので、Vistaのディスクからコンソールを起動していろいろ試してみたが、どうもうまくいかない。それならばもう一度インストールしようと思ったが、どうしたことか、今度は、HDDを認識してくれない。XPのインストールしてあるHDDや、もうひとつのHDDは問題なく列挙するのに何故だろう。BIOSもHDDをプライマリマスターと表示している。  もしかしたらBigDrive非対応? いや、ググッったところ、A7V8Xは対応しているようだ。やけになりIDEケーブルの接続場所を変えてみたが効果なし。ジャンパ? いやいや、それは最初のインストールで、HDDをつなぎ変えたときに設定し忘れて、BIOSにプライマリマスタがないと怒られたではないか。すると……壊れた? 一度も通電せずに、そもそも開封すらせずに一年間以上放置していたHDDだったが、保管状態が悪かったのだろうか? 謎だ。そもそもたった5時間程度通電して、HDDの総容量にも満たないほど読み書きしただけで壊れるものなのだろうか。大体壊れたにしても、認識しないというのは解せない。  ほんの少しだけVistaを触った感想を書くと、かなり分かりやすい印象を受けた。第一インストーラが馴染み深いGUIだ。コントロールパネルなども、物凄く使いやすかった。デバイスマネージャなども、直接ショートカットが用意されていた。ただ気になるのが、XPで言うところの画面のプロパティだ。XPと同じ感覚でデスクトップを右クリックすると、メニューの一番下に表示されるのだが、翻訳が、「個人設定」になっていた。何か違和感がある。  まあ、いまのPCでVistaを使う気はないし、Vistaに乗り換えるなら、新しくもう一台組むつもりだったので、どうでもいいのだが。  そういえば最近はPATAという名称になってしまったようだ。私が今使っているPCを組んだときは、SATAの端子は、最新のマザーボードについていたが、肝心のSATAなHDDが発売されていなかった。パラレルなら早いんじゃないの? 時代は変わったものだ。おかしいな、たった4,5年前のはずなのだが。

2007-09-05

ニコニコ動画とか

 最高級ピアノ  ニコニコ動画というのは、面白いところだ。この動画が物凄く面白い動画のように思えてくる。  ところで、Vocaloid2の初音ミクに感動した。

2007-09-01

旅は道連れ、世は情け

広島へ旅行してきたので、旅行記なるものを書いてみんとす。そも、何故余が広島へ旅になど出かけたかというと、我が高校時代の友人が、たまたま広島へ旅に出ると云うので、之に同行したのだ。

さて、一日目は、京都の私の家に泊まり、二日目に、新幹線にて広島へ旅立った。とはいえ、所要時間はたったの二時間である。

広島へ着き、まずは縮景園なる庭を観光した。まあ、それなりに広い庭であった。というと、余の文章力の拙きように見ゆれども、さにあらず。実際、ただ広い庭があるばかりで、極端に感動する景色でもない。第一、原爆で一度吹き飛んでいる。しかし見学料も安いし、手入れされた庭が好きならば、見ておいてもいいだろう。

次に、広島城を観た。これも原爆で一度吹き飛んでいるので、復元したものである。外から見ると、古い城のように見えるが、中に入ると、明らかに観光用の展示ばかりで、いとすさまじ。

さて、ここで休憩をかね、遅い昼飯を食べることにした。もちろん広島に来たからには、お好み焼きを食べなければならない。お好み焼き屋に入り、さっそく広島風のお好み焼きを注文した。友人は無粋にも、普通のお好み焼きを注文した。さて、出てきた広島風のお好み焼きだが、どうもお好み焼きというより、「焼きそばを少量の小麦粉で焼き固めたもの」と云ったほうが正しい代物であった。そもそも、簡単に崩れてしまうので、焼き固めるというのも疑問である。恐らくは、溶かした小麦粉の上に、具材を乗せて焼いたというのが本当のところだろう。しかしネギだけは多量に乗せてあって、なかなか悪くはなかった。

そして、最後に原爆ドームを観に行った。まあ、普通の廃墟だった。そういえばプロ市民が、原爆ドームの周りにビルなどを建て並べるのは、景観を損ねるなどと文句を付けていると聞いたことがあるが、原爆ドームの目的は、周りがどれだけ発展しようとも、原爆ドームだけは、当時のままの状態を留める所にあるのであって、景観などもとより存在しないはずだ。そして広島平和記念資料館を訪れた。何故か50円の入場料が必要であった。一体この中途半端な入場料は何故なのだろう。確かに運営に費用はかかりそうだが、公的な補助も出るであろうし、そもそも50円というのは安すぎる。受付で入場料を徴収する人の人件費ぐらいにはなるのだろうか。あるいは、あまりに見学者が多いので、50円でも十分なのだろうか。そんな疑問を抱きつつ中に入ろうとすると、入り口で、障害者らしき人がパンフレットを配っていた。まあ、一度見る価値はあるだろう。なかなか興味深い展示品がたくさんあった。

さて、さっそく宿を探したが、これがなかなか難しかった。宿は友人が予約し、地図も印刷していたのだが、目安となる道路や橋の名前が書いていなかった。これは難しい。とりあえずなんとか発見し、中に入る。ふと、友人が持っている、予約したメールを印刷した紙を見ると、セミダブルと書いてある。はて……セミダブルってベッドは二つあったっけ? もちろんあるわけがない。友人はあまりに、安かったために、間違えて予約したらしい。仕方なく部屋を変更することにした。しかし、ツインは空いていなかったので、トリプルになってしまった。とりあえず今回の旅で学んだことがある。セミダブルは男二人でも泊まれるらしい。

さて、次の日は、呉に向かった。目的は、大和ミュージアムと海上自衛隊呉史料館だ。大和ミュージアムには、戦艦大和の十分の一模型や、各種戦艦模型、様々な資料などが展示してある。なかなか楽しめた。

さて、海上自衛隊呉史料館はさらに面白かった。こちらは、機雷除去や潜水艦に関する展示が多かった。なかでも目玉は、数年前まで現役だった潜水艦の中に入れることだ。実際入ってみたのだが、恐ろしく狭かった。身長163cmの私でさえぎりぎりで、身長が170cmを越す友人は、とても窮屈そうにしていた。友人の場合、一部天井に頭がつかえるところがあった。潜水艦のクルーは、背が高いとつらそうだ。第一、居住空間がなさ過ぎる。こんなところで数ヶ月も生活したら、発狂するだろう。他にもいろんな説明があったが、食事だけは意外と普通だった。固形保存食などではなく、ちゃんと生のジャガイモなどを積んでいるし、食事のメニューも毎回違っていた。これは意外だった。とにかく、海上自衛隊呉史料館には是非とも行くべきだ。実に見所がある。

2007-08-28

新商品の日清焼チキンについて

 先週のことだが、母親が、「日清焼チキン」、なるものを買ってきた。チキンラーメンの焼きそば板らしい。始めはチキンラーメンだと思ったが、どうもパッケージが違う、聞いてみると、なんでも、新商品で、安かったらしい。チキンラーメンと言えば、日本人なら誰もが知っている、あのお湯をかけるだけで食べられる手軽なラーメンである。ほかの袋入りラーメンならば、たとえばスープをお湯に溶かしたりしなければならないのだが、そういう手間もかからない。  さて、くだんの焼きチキンであるが、お湯をかけるだけではダメのようだ。どうもフライパンで焼かなければならないらしい。まずフライパンに水を入れ熱し、チキンラーメンより少し色の薄い乾麺を投入、そのまま水がなくなるまで、焦げ付かないように注意しつつ加熱し続ければ良い。チキンラーメンと同じく、これはソースをかける必要がない。それは、手軽でいいのだが、結局フライパンで加熱しなければならないことには代わりがない。しかも放置していては焦げ付くので、箸でもって定期的にかき回さねばならぬ。これは全然手軽ではない。  味のほうは、チキンラーメンをそのまま焼きそばにしたような味であった。しかし、これを作るぐらいだったら、普通の焼きそばの麺を買ってきたほうがましだ。そのほうがうまいし、手間もそれほど変わらない。  結論としては、チキンラーメンは、麺をお湯につけるだけでいいという、その手軽さが売りなのだから、こういう手間のかかる焼きそばはどうかと思う。これはあまり売れそうもない。

2007-08-26

mp3死んでくれ。頼むから

 AACのすばらしいごまかし技術に慣れてしまうと、もはやmp3を聞くのが苦痛になってきた。さっさと死滅して欲しい。

2007-08-21

Flash PlayerがH.264とHE AACをサポート

http://www.itmedia.co.jp/news/articles/0708/21/news051.html  これは来たかもしれない。もし、FLVもH.264を格納できるようになれば、VP6は死滅するかもしれない。問題は、低ビットレートでは、どちらが強いのか確かめなければ  追記  H.264の低ビットレートでの画質は、VP6と同等だった。またすばらしいことに。どんなに動きの激しい動画をエンコードさせても、指定したビットレートをきっちり守ってくれる。  また、HE AACだが、これはすばらしすぎる。なんと48kbps程度で、原音と区別がつかないほどの音質を誇っている。耳を疑った。一応CreativeのサウンドカードとSennheiserのヘッドフォンを使っているのに、違いがさっぱり分からない。比較のためのmp3は、128kbpsでも高音がカットされたような印象を受けるのに。  ちなみに調べたところによると、SBRという技術により、高音域にそれっぽいノイズを発生させているらしい。人間の耳は、高音域にはそれほど敏感ではなく、ノイズ程度で十分騙されてしまうんだとか。本当に人間の感覚はいい加減だ。

2007-08-15

美しい顔について

 世の中には様々な顔がある。とはいえ、四十路、五十路に差し掛かると、みな一様に、醜悪な顔になってしまう。電車に乗っていると、様々な人の顔が、否応なく目に入ってくるのだが、中年に差し掛かる人々はみな一様に、むさくるしそうなオッサンか、厚かましそうなオバハンである。特にオバハンは酷い。明治時代の薄化粧よろしく顔を塗りたくり、道化さながらのショッキングピンクの唇の上、どこで売っているのか理解に苦しむ服を着込んでいる。  もちろん、中年老年でありながら、美しい人というのは、たまに存在する。そういう人は大抵、姿勢正しく、目立たない化粧をし、無難な服装をしている。  要するに、大抵の中年の日本人は、醜悪な顔をしているのだ。私とて、二十年ないしは三十年先には、おなじ人相に成り下がる定めだろう。  ところが、私が日本以外の人種を見ると、どうも勝手が違う。みな、それほどまずい顔をしているようには見えないのだ。それどころか、兄弟姉妹でもないはずなのに、同じ人種の外人の顔が、似ているように感じてしまう。これは妙だ。日本人である私が日本人を見るとき、兄弟姉妹でもなければ、似ているとは思わない。しかし、私が日本人以外の人種を見ると、どうしても、どこかが似ているという感覚を覚える。彼らとて普通の人間であるから、別段美しいわけでもないし、ましてや似ているはずがない。これはどうしたことだろう。  普段見慣れていないものは、違いを認識できないのだろうか。  一体何が美しい顔なのか。私が美しい顔と醜い顔を判断できることからして、何かしらの基準は存在するはずである。一体何だろう。  私は卒業アルバムを開いてみた。かつての級友たちは、みな一様に醜悪な面構えをしていた。お世辞にも美しい顔は見当たらなかった。何故だろう。当時は、クラスの誰某がかっこいいとか、可愛いとか、話し合っていたはずである。今改めて顔を確認するに、一人として美しい顔がない。これは一体どうしたことか。  不思議に思っていると、心理学分野に進んだ昔の友人から、次のように言われた。 「知っているか? 一番美しい顔というのは、自分の顔なんだぜ」  考えてみるに、自分の顔は、かなりの頻度で見ている。従って自分の顔に対して嫌悪、拒絶など意識は覚えないはずだ。もし自分の顔を嫌悪あるいは拒絶する人がいたならば、まず紹介すべきは、腕のいいカウンセラーであって、間違っても、腕のいい整形外科医ではない。  美しい顔というものについては、面白い研究対象なので、おそらく先人も研究しているだろうと調べてみたが、どうも良い成果は上がっていないようだ。ある研究者は、顔の黄金比などを作っている。たしかに美しい顔にとされる人に当てはめてみると、結構一致する。しかしそれは、まず始めに結論ありき、といった感じがする。  他にも、複数の顔を合成して、平均的な顔を作っていくと、なぜか美しい顔になってしまうというものがある。これは面白い。たしかに美しい顔なのだが、何故か魅力を感じない。どこか非人間的な印象さえ受ける。  昔、近所に、韓国と日本人の混血の女の子がいて、美人と評判が高かった。思い出してみるに、その顔は日本人とも韓国人ともどこか違う感じを受けた。アジア人なのにアジア人らしくない顔であった。しかし、やはりアジア人であった。普段見慣れぬ顔である。しかも日本人と韓国人の混血であるので、平均された顔である。  普段見慣れていない顔は美しく感じるのだろうか。  平均顔は美しく感じるのだろうか。  はしがき  にほんではよく混血をさして、ハーフと言うが、これはどうも変な印象を与えるらしい。確かに、「お前は半分だな」、などといわれたらいい気はしない。じゃあなんというのかというと、mixed raceとかmixed bloodなどというらしい。一応、half bloodという言い方もあるにはあるが。

2007-08-14

なぜ妹娘が辞書にないのか

 「妹娘」という言葉は、どの国語辞典にも載っていない。  不思議だ。  というのも、兄娘、弟娘、姉娘は大抵の辞書に載っているのだ。なぜ妹娘だけが載っていないのだろう。ちなみに、弟娘だけは読み方が変わっていて、「おとうとむすめ」、あるいは、「おとむすめ」、と読める。このことから考えると、妹娘の読み方は、「いもうとむすめ」、あるいは、「いもむすめ」、であると推測できる。しかし、いもむすめという読みは、イモねーちゃんを連想させるような、なんだか不恰好な印象を受ける。従って、少なくとも現代では、いもむすめとは言わないのではないだろうか。  和英辞典(日本語ネイティブではない人が使う和英辞典)には、妹娘が乗っている。読みは、いもうとむすめになっている。しかし、何故日本人の手による辞書には、妹娘が載っていないのだろうか。用例が少なく、載せるほどの知名度ではなかったのかもしれない。しかし、かなり昔の文章にも、使われているのだ。たとえば、 岡本 綺堂の半七捕物帳であるとか、太宰治の駆け込み訴えなどだ。  何故なんだろう。

2007-08-11

また朝日だよ

http://www.ibuki-bunmei.org/message00.html ジャーナリスト宣言もかくやの悪意ある報道

2007-08-10

Just a note about olympics

1936年8月1日 : ベルリンオリンピック開催 1949年5月23日 : ドイツ帝国はドイツ連邦共和国(西ドイツ)とドイツ民主共和国(東ドイツ)に分裂 ――オリンピック開催から13年 1980年7月19日 : モスクワオリンピック開催 1991年3月17日 : ソビエト社会主義共和国連邦崩壊 ――オリンピック開催から11年 2008年8月8日 : 北京オリンピック開催予定  まあ、単なる年表、それだけの話

2007-08-07

免許取得

 とりあえず車の免許を取った。はっきり言って、私は車が嫌いだ。と、私がこう主張すると、「なぜMTなど取ったのだ、AT限定免許で十分ではないか」と、バイト先の典型的なオバタリアンは言うのだが、別に私にとっては、ATでもMTでも、同じ車であり、別段大きな差異も感じないので、不都合はないわけだ。  さて、それよりも、私は今後、優良ドライバになることが確実なのだが、どうするべきか。

なんだかなぁ

緊急提言! 現場知らずの「耐震偽装対策」が招く危機  なんだか、役人に専門的なことをさせると悲惨なことになる。まあ、何をやらせても悲惨なことになっているけれど。

2007-08-03

I've just bought a hair clippers

新しいバリカンを購入した。今までのバリカンは、切れ味が悪くなっていたからだ。思うに、刃がだめになったのではなく、バッテリーが問題だったのではないかと思う。いくら充電してもあまり剃れないが、充電したまま動かしてみると、それなりに剃れるようになったからだ。そこで、今回はバッテリーを内蔵しないものを買ってきた。実に良く剃れる。

ところで、バリカンとは英語でなんというのか分からなかったので、辞書を引いたところ、hair clippersとあった。なるほど、確かにその通りだ。では、バリカンの語源はなんだろう。調べたところ、フランスのBarriquand et Marre社に由来するそうだ。とはいっても、フランス語では、バリカンとはtondeuseというらしい。どうやら日本では、社名が商品そのものの名称として、定着してしまったようだ。

そして、このバリカンの語源は、長い間謎だったらしい。

語源由来辞典よりバリカン

2007-07-29

Martin Hagwallのマリオの歌

 かつて、Martin Hagwallなる人が、スーパーマリオRPGのハナちゃんの森のBGMに歌詞を付けて公開したところ、ネット上で大反響を得た。今、彼はさらにもう一つ作ったようだ。 http://www.users.se/tvsm/smrpg/ 本人のmp3と歌詞が手に入る。

さて、肝心の歌詞を、訳してみようと思う。

まず、テラマリオとして知られている最初の歌はどんな感じか

スーパーマリオRPG
僕だけの宝物
ゲームをすると すぐ迷う
そうだよ、ジーノの迷路だよ

スーパーマリオRPG
僕だけの宝物
ゲームをすると すぐ迷う
そうだよ、ジーノの迷路だよ

カエルコイン欲しい。
こおりだま欲しい。
びびりだま欲しい。
キノコ欲しい。
さよならはとつぜんに欲しい。
スターのたまご欲しい。
ヨッシーのクッキー欲しい。
ひつじのゆうわく欲しい。

全部欲しい,
もっともっと遊びたい,
カエルコインを集めなきゃ
クレジットカードを支払うために

ゲームには多くの謎がある
謎解きに熱くなる
何でチートなんかするんだい
バカげて飽きるだけさ

森を抜けるのはスーパーシンプル
ただ道を曲がるだけでいい
永遠に永遠に

ジーノの道についていけ……
ジーノの道についていけ……
ジーノの道についていけ……
僕はゲームの天才
Rawest Forest はどうかというと

The SMRPG Song, Rawest Forest - 2006
歌 by Martin Hagwall

クリボー: おい、あのマリオの野郎を知ってるか?
ノコノコ: あいつのことか?
クリボー: ああ、あのキノコ野郎だ。
ノコノコ: あー、あれね。
クリボー: そうそう、あの森の中を飛び回ってるやつだ。
ノコノコ: あー、あー、知ってる知ってる。
クリボー: よし、いいか。見に行こうぜ。

スーパーマリオRPG
僕だけの宝物
ゲームをすると すぐ迷う
そうだよ、ジーノの迷路だよ

マリオ: カエルコインよこせ
クッパ: 来いマリオ
マリオ: カエルコインよこせ
クッパ: 来いマロ
マリオ: 「さよならは突然に」よこせ
クッパ: 来いジーノ
マリオ: クッキーよこせ

カメック: おお、与えようじゃないか マリオよ

クッパ: ワガハイはオマエのバカげた声を聞きたくない。
マリオ: 一文にもならないこぎたないコインが欲しいんだ

ゲームには多くの謎がある
謎解きに熱くなる
何でチートなんかするんだい
バカげて飽きるだけさ

森を抜けるのはスーパーシンプル
ただ道を曲がるだけでいい
永遠に永遠に

声: こんぺいとうよこせ, クッキーよこせ, 「さよならは突然に」よこせ,
クラウンのカジノよこせ 全部よこせ

マリオ: 待て, 待て, 待て, 誰なんだ?

カリバー: ハハハハハ

カリバーの歌:
俺の名はカリバー, ラップの天使
オノレンジャーと共にさすらう刃
バカなマリオとその愉快な仲間たちに
スターロードなど直せるもんか, 直せるわけがない
(ジーノ: ジーノカッター) 瞬き早い (ジーノ: これならどうだ)
なぜなら、いつもいつも、右目ばかり攻撃されるからだ

マリオの歌:
最近は暇で意欲も沸かない
子猫たちも俺をさしてこういうよ。
配管工のイタリア人、大根ごぼうも木っ端微塵
城のお姫様を助け出せ
クッパとクリボー達を笑い飛ばす
Aボタンを押してパワーを上げろ
お金はないけれど, でも見てよ 退屈な子たちが
俺のゲームで楽しんでるよ

ダイアローグ 1:
声: よこせ
クロコ: ミーの名前はクロコデ~ス
声: よこせ よこせ
クロコ: サイフ
声: よこせ
クロコ: サイフ
声: かえせ かえせ
クロコ: ゲームの最後に
声: かえせ
クロコ: アイテム
声: かえせ かえせ
クロコ: レアもの

ダイアローグ 2:
クラウンあに: やあ
マリオ: やあ、なんか気味悪いところだね
クラウンあに: ああ、そうだね
マリオ: ヒットポイントが残り少ないんだ
クラウンあに: なるほど
マリオ: なにかない?
クラウンあに: このキノコをつかうといい
マリオ: 腐ってるじゃないか

ピーチ姫の歌:
私は姫, どうか助けて
ブッキーは怖いわ
私と結婚するつもりだって聞いたけど
私はマリオと結ばれたいの

マリオ: カエルコインよこせ
クッパ: 来いマリオ
マリオ: カエルコインよこせ
クッパ: 来いマロ
マリオ: 「さよならは突然に」よこせ
クッパ: 来いジーノ


ピーチ姫: フライパンとパラソルをちょうだい

ゲームには多くの謎がある
謎解きに熱くなる
何でチートなんかするんだい
バカげて飽きるだけさ

森を抜けるのはスーパーシンプル
ただ道を曲がるだけでいい
永遠に永遠に

 star eyeが、なんなのか分からない。誰か思い当たる人は教えて欲しい。  

 

 Exorはケンゾールじゃなくてカリバーだった。 s/ケンゾール/カリバー  

 

 よく読んだら、クッパとクリボーを笑っているのはマリオのようなので、修正。万里夫が笑われているのだと解釈してしまった。  

 

 ところで、blaster plantsとは、マリオUSAの引っこ抜ける野菜を台無しにすることかと思っていたのだけど、ひょっとしたら、パックンフラワーを倒すことなのかもしれない。英語ではPiranha Plant (ピラニアプラント)と言うのだが。というかこの部分の意味がよく分からない。

 

 

 star eye をこんぺいとう、と訳してみた。  

2007-07-28

空気に課金しろ

http://www.itmedia.co.jp/news/articles/0707/26/news114.html
iPodやPCからも補償金を」と権利者 私的録音録画小委員会 私的録音録画補償金制度の見直しを検討する小委員会の会合が開かれ、iPodや携帯電話、PCなども補償金の課金対象にすべきなどの意見がでた。 2007年07月26日 20時53分 更新  「私的録音録画補償金」制度をめぐり、見直しを検討するために文化庁文化審議会著作権分科会に設けられた「私的録音録画小委員会」の会合が7月26日開かれ、課金対象となる機器の範囲などについて話し合われた。  私的録音録画補償金制度とは、MDやCD-Rなどデジタルメディアを使って音楽CDやテレビ番組などを録音・録画する場合に、一定の補償金を著作権者に支払う制度のこと。補償金はデジタルメディアの販売価格に上乗せして徴収している。  小委員会の会合は今年8回目。権利者団体や消費者の代表、識者らが集まり、補償金の徴収方法や対象機器の範囲などの見直しを検討しており、今年中に結論を出す。 会合の様子  「iPodなどのポータブルオーディオレコーダーや録音機能のついた携帯電話、PCなども補償金の課金対象に加えるべき」――実演家著作隣接権センターの椎名和夫さんや日本レコード協会の生野秀年専務理事など権利者側はこう主張した。  録音・録画が主な用途ではない汎用的な機器まで対象にすれば、その機器を録音や録画以外の用途に使っているユーザーからも補償金を徴収することになってしまう。権利者側はPCやHDDも課金対象とするよう主張を繰り返してきたが、ユーザーやメーカーは反対の声を上げている。  メディアやハードを著作物の複製に使っていないことを証明できれば、ユーザーが補償金の返還を請求できる制度もあるが、返還額が小額なことや、申請経費を請求者が負担するなど、実効性がないとの問題点がある(関連記事参照)。  ユーザーではなく機器メーカーから補償金を徴収すればいいのではないかという意見もあるが、IT・音楽ジャーナリストの津田大介さんは「メーカーから補償金を徴収した場合、コストとして機器の価格に反映される可能性が高く、消費者の負担は変わらない」と反論した。  野原佐和子氏(ITビジネスのコンサルティング事業を手がけるイプシ・マーケティング研究所社長)は、補償金の話からは離れると前置きした上で、ヤフーが動画投稿サイト「Yahoo!ビデオキャスト」で、ユーザーが投稿した動画で使用された楽曲の使用料をJASRACに支払う仮契約を結んだことを、新しい著作権料の支払いのあり方だと評価した。  「どういうものが私的録音録画に当たるかを法制度で決めるのは良いが、どの機器にどれくらい課金するかというようなことは当事者間の契約で決めればいいのではないか。法制度で決めることと、市場に任せるべきことを分けて議論すべき」(野原氏)
 PCや携帯電話やmp3プレイヤーに課金しろというならば、ひとつ思うことがある。私も著作者ではなかろうか。私はPCや携帯電話やmp3プレイヤーを使って、音楽を生成している。私のPCにはマイク端子がついているし、任意の周波数を生成できたり、波形を編集できるアプリケーションも持っている。携帯電話はもちろん、電話をするためにある。音声を生成しているではないか。私の持っているmp3プレイヤーには、マイクがついている。これらのデバイスを使って、自分が著作権を持つ音楽を生成すれば、私は著作者になるのではないか。それが音楽なのか単なる音なのかという絶対的な基準はあるのだろうか。私が作り出した音なのだから、私が著作権を持っているはずだ。JASRACが私の、ひらがなとアルファベットの発声から構成されている音楽を登録しないのは差別だ。私が著作者なんだから。そしてもし私の音楽の一部分でも再生されたなら(日本人なら50音を発声せずに会話することは不可能だ)、著作権料を徴収すべきではないか。その著作権料は、もちろん私のものになるはずだ。  こういうわけで、全員が著作権者になれば、全員が著作権料の分配を受けられてすばらしい世界になるだろう。まてよ、自分で払って自分でもらっているわけだから、特に世話はない。中間で分配のために働いている連中をリストラできるんじゃないのか?

2007-07-26

localeの謎

 もう何度目か分からないが、今分かっていることを書いてみる。  C++のロケール設定だが、まあ、次のような感じだ
// C++のグローバルロケールの設定 std::locale::global( std::locale("") ) ; // Cのロケールの設定 setlocale(LC_ALL, "") ; // すでに作成されているオブジェクトのロケールを変更 std::cin.imbue ( std::locale("") ) ; std::wcin.imbue( std::locale("") ) ; std::cout.imbue( std::locale("") ) ; std::wcout.imbue( std::locale("") ) ; std::cerr.imbue( std::locale("") ) ; std::wcerr.imbue( std::locale("") ) ; // OEMコードページにはない文字の出力 std::wcout << L"ハローワールド" << std::endl ; // OEMコードページにはない文字の入力 std::wstring buf ; std::wcout << "ワイド文字を入力してください:" ; std::wcin >> buf ; std::wcout << buf << std::endl ;
 これでいいはずなのだ。実際、VC7.1では、これはうまくいく。しかし、VC8では、なぜかグローバルのロケールがCロケールでないと、日本語版Windowsにおいて、OEMコードページ以外の文字の、コンソールの入出力がうまくいかない。ファイルの入出力はうまくいく。グローバルのロケール設定をせずにimbueだけ設定しておくと、問題なく出力できる。何故だ。また、VC7.1では、単にグローバルロケールを変えておくだけで、ワイド文字の入出力ができる。不思議だ。  また、Unicodeにしかない文字(たとえば❤など)を出力しようとしたが、コンソールでは表示されななかった。これはいいとして、ファイルにも出力されない。一体どうしたことか。wstringstreamでは、❤を出力することができた。というか、これは単にShift-jisに変換されているだけのようだ。ワイド文字のまま出力するにはどうすればいいのだろう。  P.J. Plauger様、ワイド文字は無視ですか?  

2007-07-24

ハリーポッターの物語が中二病臭くなってきた

HarryとVoldemortは、最強の剣ならぬ、最強の魔法棒を探しています。 ビードルなる詩人に語られし伝説  昔々、あるところに、三人の兄弟がいて、夕暮れ時に、人さびしく風吹き付ける小道を旅していた。ある時、兄弟は、深くして、泳ぎ渡ることも怪しげな川岸にたどり着いた。しかし、彼等は魔法の術を心得ており、魔法棒の一振りで、怪しげな水面の上に、見事な橋をかけ上げた。さて、橋の中ほどに、外套で深く身を包みしものが、道をふさいでいた。  死が彼等に語りかけた。死は三兄弟が、溺れ死ぬべき定めの川を渡った事に、憤慨していた。しかし狡猾な死は怒りを隠し、兄弟の魔法の術を褒め称えた。そして、各々に、己から逃れられた褒美を取らせよう、と云った。  戦いの好きな長男は、この世で最も強い魔法棒を願った。決闘において常に所有者を勝たしめ、まさに死を克服した者にふさわしい魔法棒を。そこで死は、川岸の木の枝から魔法棒をこしらえ、長男に与えた。  うぬぼれた次男は、死をあざけり、死人を呼び戻す力を持った石を願った。そこで死は、川岸の石を与え、人を死から呼び戻す力を持っていると言い含めた。  死は、三男の望みを訊ねた。三男は分別を持っており、三兄弟のうち最も賢明であった。三男は死を信用していなかった。三男は死に付きまとわれずに、ここから安全に立ち去れるものを求めた。そこで死は、渋々、自分の着ていた透明なる外套を与えた。  そして死は道を譲り、三兄弟は再び旅を続けた。彼らの為しえた冒険と、死からの贈り物を話の草に。  その後、兄弟は互いに別れ、各々の道を歩んでいった。  長男は一週間ばかり旅を続け、異郷の村にたどり着いた。古の魔法棒によって、彼は道中の厄介者に負けることはなかった。厄介者の死体をそのままに、彼は宿をとった。そして死より譲り受けし強い魔法棒と、無敵の己を吹聴した。  その夜、別の魔法使が、長男が酔いつぶれて寝ている隙に、魔法棒を奪い取り、喉笛を切り裂いた。  そして、長男は死の所有するところのものとなった。  次男は自分の家に帰り、孤独に暮らした。そこで次男は、死を取り消さしむ力を持った石を手中に持った。興味と羨望により、かつて次男が愛した、今はなき女を、面前に呼び出した。  悲しくも冷たくもあり、ベールにて分かたれてはいたけれど、女は死ぬべき定めの世に帰り来たが、真にこの世のものならず、あたりを漂っていた。次男はより所のなさに発狂し、自殺して、その身の置き所を女と同じくした。  そして、次男は死の所有するところのものとなった。  死は長の年月に渡って三男を探したが、見つけられずにいた。遂に三男は老年に達し、透明なる外套を脱いで、息子に譲った。三男は古き友たる死を迎え入れ、喜んでこの世を去った。  なんというか、次男の部分だけ日本語で表現できない。

2007-07-21

ハリーポッター7巻

今回はだいぶ急展開で面白い話になっている。まあ、5巻あたりが酷すぎたのだが。ところであるニュースでは、

両親と一緒に来た東京都文京区の小学5年、沖重ひかりさん(11)は「幼稚園のころから読み始めたので、日本語はハリポタで学んだようなもの。今度は英語を勉強したい。ハリーが死なないように祈っています」と心配そうに話していた。

日本語はハリポタで学んだ……。なんと不遇な人間だろう。この子の日本語力が心配だ。治療のため、いますぐ中島敦の文章を読むべきだ。

2007-07-20

バカのために最適化する必要はない

Rune Moberg  こんにちは、64bit Windowsのデフォルトのデスクトップヒープサイズは20MBもあるので、かなり余裕があると思いました。  だから僕はシステムの変数を書き換えて、1プロセスに10000ハンドルという制限を越えてみたんです。  不可視のウインドウを20000個作るのは、すぐにできました。でも、そのハンドルを破棄するのが厄介でした。まず、自分でDestroyWindowを呼び出してみると、タスクマネージャからウインドウハンドルが、30000個から、徐々に減っていくのを数えられるほど遅いのです。秒間30個ぐらいしか解放できませんでした。単にリークさせて、OSに解放を任せてみても、やはり遅かったです。ただ、自分で解放するより早いんです。問題は、30秒ぐらい、UIが固まってしまうんです。そのコンピュータのネットワークサービスなどは、問題なく反応するのですが。問題ない数は、10000から18000ぐらいでした。僕の環境はXeonのデュアルです。教えてください。お願いします。 Raymond Chen  いや、そりゃ単に、お前は20000個ものオブジェクトをリークすべきではないというだけさ。なんでバカのために最適化しなければならないんだ? 調子に乗るだけじゃないか。だいたい、デフォルトの制限値は10000個だ。そもそもシステムが想定しているよりも多いんだよ。だいたい、その制限を変えるには変数の値を変えないといけない。もちろん、ウインドウマネージャはちゃんとクリーンアップするよ。その挙動は、あまりいい気分ではないだろうけどね。  悪意のあるプログラムが過負荷によるサービスアタックに利用するだって? おいおい20000個もウインドウを作れるのならば、ウインドウをひとつ作り、そのウインドウで好きなだけユーザをたぶらかし給え。  面白いことを云う。まあ、さすがは、USBドライバのバグをつくUSBデバイスを作成するより、フォークの方がセキュリティ上問題だと考えるだけある。

2007-07-19

ウインドウハンドルの謎

このブログをブックマークしている奇特な人がいるらしい。最近は、ほとんどネタも書いてないというのに。まあこういうときは、例の如く、oldnewthingから話のネタを引っ張ってくるのがいいだろう。幸いにして、いま面白そうなネタを書いている。

How are window manager handles determined in 16-bit Windows and Windows 95?
How are window manager handles determined in Windows NT?
Why is the limit of window handles per process 10,000?

ただし、この話はいわゆるimplementation detailというものなので、絶対に悪用しないように。Raymond Chen様がブログを止めてしまうかもしれない。

今回は、ウインドウハンドルの値についてだ。oldnewthingを知っているようなプログラマなら誰しも、32bitなWindowsにおけるカーネルオブジェクトへのハンドルというのは、単にプロセスのハンドルテーブルのオフセットに過ぎないと言うことを知っているはずだ。しかしウインドウハンドルの値はどうか。16bit時代の頃、ウインドウハンドルの値というのは、ウインドウマネージャのセグメントへのnearポインタだったのだ。そのため、ウインドウハンドルと言うのは、16bitの値であった。

nearポインタとfarポインタ。私はこんな世界に生まれなくて幸いであった。当時は、メモリと言うのは64KBで境されるセグメントだったのだ。16bitなアドレッシングで扱えるメモリの量は64KBである。だから、64KBより大きいメモリを扱いたかったり、別のプロセスのメモリを指定したい場合は、FARポインタを使う必要があった。FARポインタは32bitで、上位16bitは、セグメントへのアドレスであった。当時はこのセグメントを複数使いこなすことが、プログラマに求められていた。必要ならば、DSを自分で書き換えることは普通であった。この頃のポインタは、本当に難しかったに違いない。

やがて時代は移り、32bitの世界がやってきた。Windows 95である。プロセスが複数のでかいヒープを持つことが当たり前になる時代。しかし、世の中はまだ16bitコードであふれかえっていた。そこで、Windowsは16bitコードをサポートする必要があった。そこで、WIN16のウインドウハンドルが問題になる。その頃、ウインドウハンドルの値は16bitである。したがって、Windoes 95でも、ウインドウハンドルの値は16bitでなくてはいけなかった。しかし、Windows 95 のポインタは32bitだ。一体どうすればいいのか。

そこで、ウインドウマネージャは、メモリを古きよきmovableとして確保する。得られるメモリは、実際のアドレスではなくHLOCALというハンドルだ。このとき、ウインドウマネージャは、32bitのヒープマネージャーに、16bitハンドルを返すように要求する。ヒープマネージャは64KBのメモリを確保し、実際のメモリポインタを格納しておき、そのメモリへのオフセットを返す。これで、16bitなウインドウハンドルが作られる。

ポインタひとつにつき4バイト必要なので、この64KBのハンドルでは、最大16384個のハンドルを扱える。CreateWindowExのドキュメントで

Windows 95/98/Me: The system can support a maximum of 16,384 window handles.

と書かれているのはこのためだ。実際には、ゼロはNULLと混同されるために使われなかったりするので、もう少し少ないそうだが。

しかし、ポインタは4バイトなのだから、あらかじめ4で割ることにしておけば、65535個のウインドウハンドルを扱えるはずである。何故しないのかと疑問を呈する人がいるかも知れぬ。しかし、Windows 3.1はたかだか700程度のウインドウしか扱えなかったことを考えると、すでに23倍も多いのである。その頃は、数百のウインドウと言うのは物凄く多いと考えられていた。メモリは現在のように十分ではなく、クールな奴等は8MB積んでいた

しかし、この実装はある問題を引き起こした。同じウインドウハンドルの値が再利用されやすいと言うことである。すでに破棄されたウインドウハンドルを使おうとすれば、当然エラーになる。ところが、そのウインドウハンドルが、再利用されると、別のウインドウを指すようになる。つまりまったく別のウインドウに対して操作を行うようになる。これは、操作する側にとってもされる側にとっても、いい状況ではない。

そこで、Windows NTでは、対策を施した。ウインドウハンドルの上位16bitを活用するのである。Windows 95は上位16bitをゼロにしていたが、NTでは、ユニークな値を入れるようにしている。これは、ウインドウハンドルが再利用されるたびにインクリメントされる値である。こうすることによって、現実的な間、まったく同じ値のウインドウハンドルが使われないようにしている。16bitコードには、例の如く下位16bitだけを渡せば良い。

NTの時代には、だいぶメモリ容量も緩和されたが、ウインドウハンドルの数はどの程度緩和されたのだろうか。NULLなどの特殊な値を除外しても、65000個ほどはウインドウハンドルを扱えるはずである。しかし、NTのウインドウハンドルは32700程度に制限されている。なぜかというと、どうやら世の中には、ウインドウハンドルの値は偶数であると決め付けているプログラムがあるらしい。

また、1プロセスあたり10000個のウインドウハンドルしか開けないが、この制限は何のためにあるかと言うと。そんなに使うべきじゃないということらしい。すでに最大値の三分の一も使っているのだ。そんなプログラムは絶対におかしい。あまりにもウインドウが多すぎると、タスクマネージャが起動できなくなり、ユーザがそんなおかしなプロセスを強制終了できなくなってしまうかもしれない。まあ、この辺は納得できる。

さて、さっそくこの情報を試すことにしよう。ウインドウハンドルの、意味のある値は下位16bitである。しかも、偶数であるというassumptionにより(assumption、なんといういい響き!) 最下位ビットも使われていない。即ち我々は、ウインドウハンドルを0x0000fffeでANDしても問題ないはずである。早速試そう……動いた。どうやら、上位16bitがゼロのときは、ユニークな値にする対策を無視してくれるらしい。今の実装では。

ここに書いてあることを絶対に悪用しないように。

2007-07-16

ffmpegのバグレポートなど

 ffmpegのメーリングリストにバグレポートとパッチを投げて、IRCで会話してたら、flvenc.cを書いた本人から回答が来た。

00:37 (hito) anyone test my patch? i find a bug in ffmpeg and make a patch. but i have no linux platform to test.
00:48 (mru) which patch?
00:48 (merbanan) hito: not tested, but it looks correct
00:49 (hito) http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-July/010103.html
00:49 (hito) it is
00:50 (hito) i just make handy program which read FLV file and find mencoder(ffmpeg) output completly broken file
00:51 (merbanan) sorry about that, it's my code :)
00:51 (hito) wow
00:51 (merbanan) well the VP6 code
00:51 (merbanan) not the complete flv muxer
00:52 (merbanan) hito: I'll push for inclusion of the fix, expect it to be committed in a few days
00:53 (hito) thanks
00:53 (merbanan) thanks for the bug report with a patch to fix it

 なるほど、やってみるものだ。

01:10 (hito) but even official Flash Player doesn't complain about Previous tag size... who use it? :)
01:12 (mru) probably nobody
01:12 (mru) what would you use it for? parse a file in reverse?
01:12 (hito) no
01:13 (hito) well yes i read it forward and hey there is Previous tag size maybe it is for reverse access
01:13 (hito) so i try it and find most of flv file broken.
01:13 (hito) allmost all flv file
01:14 (mru) then your best option is probably to simply ignore it

 そんなぁ……。

2007-07-15

There's an awful lot of broken flv file out there

 最近、C++やWindowsに関する書籍を読み漁っていたが、全然実際のプログラミングをしていなかった。これではまずいと思い立ち、さっそく得た知識を使うべく、FLVファイルを扱うプログラムを書いた。  しっかりと考えたC++のコードを書くのは、実に楽しい。さて、とりあえずFLVファイルのタグをひとつずつ読み込むコードを書き、テストしてみることにした。  はたして正常に動作しなかった。  調べてみたところ、私のコードに誤りはないという結論に達した。間違っているのは、FLVファイルのほうだ。  まず、PHOTO蔵のFLVファイルであるが、ヘッダのビットマップには、VideoのフラグもAudioのフラグも立っていない。  次に、YouTubeのFLVファイルであるが、二つ目のタグの、PreviousTagSize、即ちPreviousTagSize1がおかしい。恐らく、YouTubeはFLVファイルにメタデータを付加するツールを使って、自前のサービスに必要な情報を付加しているのだと思うが、このツールに問題があるらしい。メタデータを変更すると言うことは、そのタグのサイズを増減させると言うことになる。サイズに変更があった場合、その次のタグのPreviousTagSizeを適切に変更しなければならない。これが為されていない。  また、最高にひどかったのは、ffmpegの吐くFLVファイルだ。mencoderで吐かせたFLVファイルがとんでもなく間違っていると思ったら、どうもffmpegのコードにバグがあるらしい。VP6の動画の場合、PreviousTagSizeが1バイトずれている。これは、実際にソースコードを読むと、バグが一目瞭然である。コーデックがVP6の場合、2バイトのデータを付加し、そうでない場合、1バイト付加するコードになっているのだが、PreviousTagSizeに加えられる値は、つねに1バイトである。これはひどい。  どうやらこのことから、現行のプレイヤーはPreviousTagSizeなどまったく無視していると判断せざるを得ない。世の中には腐ったファイルが多すぎて、まったく信用ならないからだ。 http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-July/010098.html ffmpegのMLに投げてみたが、直してくれるだろうか。というか直してくれないと困るが。

2007-07-11

catan quitter

 Sea3Dで遊んでいると、落ち逃げした者がいた。名前がKamemusiであった。日本人としては少々気になる名前だ。面白そうなので、さっそくこれなる名前のページを見てみることにした。 http://www.s3dconnector.net/connector/s3dPlayer.php?player=Kamemusi  何と、同じIPのユーザに、haruhi loveとかsofmapなどがあるではないか。これは明らかに日本人だ。しかし、何と言うキモい名前。IPは動的割り当てだと思うが、同一人物である可能性は高いと思われる。  IPを調べてみることにした。このユーザのIPは、必ず58.188.235.xxxで始まっている。このIPは、なんとeonetのものだ。やはりジャップだった。実は近所に住んでいるのではなかろうか。私もプロバイダはeonetなのだが、京都ではこのようなIPは割り当てられない。都道府県を調べてみると、どうやら大阪のようだ。  とりあえず、大阪民国には、ハルヒラブでソフマップによく行くカメムシがいるらしい。このようなキモイ名前を付けることからして、相当のキモオタに違いない。しかもあの大阪民国に住んでいるとは救いようがない。

ffmpegのコードを読んだら、自信喪失した

 あqwせdrftgyふじこlp; うわあああああああ あんなに悩んでいたFLVのDataタグの完全なパースが、恐ろしく簡単に実装されている!@#$%^&*? 何週間も綺麗な実装方法について悩んでいたのに……。  もう、この業界あきらめようかな。自分には向いていないし、一生かかっても極められない。何でも世の中には天才という奴がいて、我々凡夫はその後追いをしているだけだ。結局、ただ学んだ知識を使うだけで、何一つとして生み出すことが出来ない。  

FLVのonMetaDataがカオスすぎる

 規格を読んだが、どうも細部がよく分からない。正しい例のひとつもつければいいのに。  まず、Data tagであるが、トップレベルのSCRIPTDATAOBJECTはひとつだけなのか、あるいは複数あって、SCRIPTDATAOBJECTENDで終端されているものなのか。ほとんどのFLVはひとつだけのようだ。  Lists of SCRIPTDATAOBJECT records are terminated by using the SCRIPTDATAOBJECTEND tag.  とあるが、そもそもそんなFLVファイルは見当たらない。巷に転がっているFLVファイルは、みなSCRIPTDATAOBJECTがひとつだけだ。SCRIPTDATAOBJECTENDを使っているFLVファイルも見当たらない。どのFLVファイルも、最初の名前がonMetaDataで、ECMA array typeが格納されている。問題なのはここからだ。これはサイズを指定した配列なので、終端はいらないはずだ。事実、終端はObject typeかStrict array typeのときしか規定されていない。だからいらないはずなのだが、ffmpegは最後にSCRIPTDATAVARIABLEENDを吐く。不思議に思っていたが、どうもOn2のFlix EngineもSCRIPTDATAVARIABLEENDを出力している。一体何が正しいのか。規格を読む限り、必要なさそうに思えるのだが。  しかもさらに問題をややこしくしているのがYouTubeだ。YouTubeのFLVファイルには、それらの終端があるのだろうか。本当にわからない。  結論、こんな奇妙極まりない構造を考え付いたマクロメディアは糞に違いない。  

2007-07-10

シリアルポートを扱うのは簡単だ

 FPGAとVHDLの実習で、シリアルポートを使う練習で、ある値を送り続ける課題があった。果たしてさっぱりうまくいかなかった。ハイパーターミナルでは分かりづらいので、自前でCOMポートをモニタするツールを書くことにした。かねてより簡単にCOMポートに読み書きできるのは知っていたが、本当にあっさりと書くことができて拍子抜けした。それにしても、ボーレートやフロー制御の設定にまぎれて、1バイトが何ビットであるかを設定する項目があるのには、時代を感じた。    とりあえず、概略を書いておく。まず、CreateFileで開く。ファイル名は。"COMx"だ。xの部分に、開きたいCOMポートの数字を入れればいい。そして必要に応じてREADやWRITEのアクセス権を指定する。また、MSDNによれば、排他的アクセスで無ければならないとされている。セキュリティは無し。OPEN_EXISTINGで開く。オーバーラップもサポートされている。テンプレートは設定できない。
HANDLE com = CreateFile( L"COM1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
 現在の設定は、GetCommStateで設定できる。DCB構造体を適切に設定して、SetCommStateで変更できる。あとは、おなじみのReadFileやWriteFileで読み書きすればいい。  時代と言えば、昔はシリアルだから遅い、パラレルにしたほうが早いと言われていたものだ。  シリアルって早くね? 480Mボーぐらいでるんじゃね?

2007-07-04

iPhoneのrootアカウントのパスワードがクラックされた

2009年11月5日追記:二年前のこの記事が、にわかにPV数を得ている。何故かというと、こういう事があったからだ。間違えてここに飛んできた人の為の便宜を図るために、リンクしておく。
ロック解除のiPhoneを人質に、「身代金」の要求騒ぎ - ITmedia News

http://www.hackint0sh.org/forum/showthread.php?t=1323

rootアカウントのパスワードは、"alpine"
mobileアカウントのパスワードは、"dottie"

パスワードのセンスを褒め称えるべきだろうか? ちなみに、パスワードは古き良きDESでハッシュされているらしい。今となっては懐かしい暗号だ。クラックには、John the Ripperで15秒だったとか。

まあ、iPhoneは携帯である。マルチユーザなどといった使い方は想定していないし、そもそもiPhoneのシェル上から、rootにログインする方法がない。iPhoneにはターミナルなどないし、セキュリティ上の問題になることも無い。rootアカウントへのログインはまだ試みられていないようだが、そもそもUIが動くのかどうか疑問のようだ。

2007-07-01

FLV ファイル

 FLVファイルを処理するツールを作ろうとしたが、なかなか難しい。Dataタグには、完全なパーサを書かなければならない。いい加減に対応すると、泣きを見るだろう。  しかし、OnMetaDataの公式な規格書がないのはどういうことだろう。