2009-07-31

帰宅

予備自補の、A, B課程の訓練を終えて、今日の晩に帰ってきた。

どんなことをしたか詳しく語りたいのだが、どうも、どこまで語っていいのかがよく分からない。あまりに詳しく語りすぎるのは良くないと思うのだが、その辺を質問してみた所、基本的に知られてはまずいことは、予備自補では教えないと言われたし、また、訓練の感想などは、語っていいとも言われている。ただ、どうにも曖昧だ。地本とも相談して考えることにする。

ただ、私が語りたいのは、どんな訓練をしたかの詳細ではなく、むしろ雑事だ。例えば、「営内の売店では何が売っているのか」とか、「予備自補の訓練に行くに当たって、何を持って行けば楽になるのか」などといった情報だ。

とりあえず、今日は、少し疲れていることもあり、差し障りのない感想だけ書く。

予備自補という特性上、また、訓練が始まって間もないことから、予想していたのと違って、全く厳しくない訓練だったので、これだけをもって評価するのは時期尚早なのだろうが、非常に面白い。自由な時間は少ないが、本当に充実した日々を送れる。集団生活は、特にすばらしい。集団生活が合わない人もいるだろうが、私は悪くないと思う。時間に余裕のある人は是非、予備自補の訓練を受けてみるべきだと思う。三年で50日、五日単位の訓練を修了すればいい(それでも、民間で働いているならばきついとは思うが)

2009-07-22

十日間留守にします

予備自補の教育訓練に出頭する。

忘れ物はないはずだ。

追記:
大津には、一時間もせずに着くはずだ。道が分かればの話だが。事前にGoogle Mapで確認した。大津にもStreet Viewが欲しい。

追記2:
本を読む暇はあまりないと思うが、一応、本の虫としては、暇な時間(もしあれば)に本を読まないのは苦痛であるので、宇治拾遺物語と論語と徒然草を持って行くことにした。この三冊ならば、5分や10分といった時間に、手軽に読める。

2009-07-21

Twitterの情報流出の手口

The Anatomy Of The Twitter Attack

よくもまあ、根気強く続けたものだ。

面白い文章

冷蔵庫と壁の隙間に自宅サーバを設置するのはやめましょう - 床のトルストイ、ゲイとするとのこと

内容はともかく、この文章がやけに強引で面白い。

まず、

みなさん自宅サーバの1台や2台は持ってると思うのですが

と強引に話を始めて、

日本の住宅というのは狭いです。それに夏は暑い。自宅サーバを設置するには適さない条件が揃っているのが日本です。なのに何故あなたたちはサーバを設置するのですか?

と、ここまでで、すぐに問題を提起、

狭い安アパートの中で、なんとかして自宅でサーバを運用しようとしたら、通常は、ノートPCをサーバにして冷蔵庫と壁の間にあるスキマに入れる、というスタイルが導き出されると思います。

何と強引な話の持って行きようだろうか。「通常は」という言葉を用いて、あたかも一般常識であるかのように論じている。しかも、分かりやすいように画像までついている。

その後、この運用方法の問題点をひとしきり述べて、その解決方法として、

ところで世の中にはとても便利なものがあって、以下の商品は、電子レンジの上のデッドスペースにサーバを設置するために作られた道具です。知性あるエンジニアはこういうものを使うわけです。中野の島忠で 2,000円 くらいで売ってます。

よくある小型のラックを、「電子レンジの上のデッドスペースにサーバを設置するために作られた道具」だと断言する。

こんな調子で文章を書いたら面白そうだ。

2009-07-20

もやしの故を以て再び赴く

昼飯用に、豚肉とピーマンを買ってきた。冷蔵庫にはもやしがあったはずだ。

冷蔵庫のもやしを確認すると、何か臭う。もやしは日持ちがしないのはよく知られたことだ。はて、そういえばこのもやしは、昨日やおとといのもやしではない。一体何時のもやしだったか、覚えていない。もやしは安いとはいえ、もったいないことをしてしまったものだ。しかも、次の燃えるゴミの日は水曜日だ。やれやれ。

そういうわけで、たった38円のもやしを買うために、再びスーパーに行くハメになった。

2009-07-19

Twitterを憂ふ

TwitterというWebサービスに関しては、今さら説明するまでもない。ただ、私はこのサービスが本質的に、Webの将来に禍根を遺すであろうことを危惧している。以下にその理由を述べる。

私がTwitterをとみに意識し始めたのは、去年からである。私がGoogle Readerを経由して読んでいる、いくつかのブログの更新が、急に鈍化しだしたのである。甚だしきに至っては、全然更新されないブログまで出てきた。そのブログに共通している事がひとつ。曰く、「Twitter始めました」と。

彼らはTwitterを使い始め、二度とブログに戻ってこないのである。私には、Twitterの何が、そこまで人を引きつけるのか、理解できなかった。

凡そTwitterは使いにくいこと極まりない。一回の投稿に文字数制限があること、後から読み返しにくいこと、検索しにくいこと、極めて閉鎖的であること等等。followだの何だのというが、私には、フィードリーダーで購読することの劣化コピーと何が違うのかよく分からない。ただ、これらは所詮サービスの内容であって、これのみにては、まだ憂うに足らず。また別に理由存す。

Twitterユーザーが、所謂、URL短縮サービスを常用していることである。私はこのサービスの何がいいのか、これまで理解できなかった。これは主にTwitter向けのサービスなのだ。これについては、Coding Horror: Url Shorteners: Destroying the Web Since 2002で、詳しく考察しているので、参照してもらいたい。要点を言えば、問題は二つある。まず第一に、URL短縮化サービス自体が、第二のDNSになってしまうということだ。DNSは、ドメイン名からIPアドレスに変換をする仕組みである。このDNSは、絶対に信用に足るものでなければならない。さもなければ、フィッシングを初め、あらゆる詐欺に悪用されてしまう。URL短縮化サービスは、このDNSと同じなのである。DNSの上にさらに、URL短縮化サービスという階層を加えるのは、いいことではない。第二に、検索に不向きだということである。Googleを初めとする検索サービスは、リンクをたどることでWebを巡回する。また、被リンク数で、サイトのランク付けをする。それがこのようなURL短縮化サービスによって、うまく機能しなくなってしまう。

私にとっては、投稿における文字数制限などというのは、思想を制限するかせにすぎない。自分がそれほど論理的にすばらしい文章を書いているとは言わないが、少なくとも、努力はしている。理由を述べて結論を引き出すだとか、結論を先に書いて理由を列挙するだとか、最低限のことはしているつもりである。Twitterの文字数制限は、そうした論理的な文章を構成するのに制限を加えてしまう。だから、皆つぶやきを発するのみして、文章にこだわらない。その結果、頻繁に更新はされる者の、生成される文章は、読むに堪えざるものとなる。

加うるに検索への不親切を以てす。Twitter自身は検索機能を提供しておらず、当然、非公式の検索サービスも、質が低い。Googleでは、その構造上、うまく検索できない。Twitterに有益な情報があったとしても、その情報は内輪ネタに留まり、埋もれてしまう。

あるいは、こういう事なのだろうか。
弱虫に優しいコミュニケーションツールほど流行りやすい - ぼくはまちちゃん!(Hatena)

さらに憂うのは、ここ最近、Twitter経由のアクセスが増えているのである。とくに、この数ヶ月で急激に増えている。おそらく、日本でも流行りだしたからなのだろう。このような個人の弱小ブログにまで及ぶのは、すでにかなり広く使われているからなのだろう。

Webが、検索可能な情報の相互リンクとしてのWebが、Twitterによって分断されようとしている。しかも、Twitterはその機能上、価値のある情報を生み出すことが難しい。例えば、ある人は、Twitter上で、このブログのある記事にリンクして、曰く、「惜しい、この人もっと深く考察すれば、記事がよりよくなるのに」と。しかし、具体的にどう考察すればいいのかには触れていない。しかも、その声は、筆者には届くことがない。なぜなら、リファラを参照しても、一体どこでリンクしているのか、容易に探し出せないからである。これは実に由由しき問題だ。

嗚呼、Twitter。何為れぞもてはやさるること如此

DOMはそんなに難しいだろうか

本の虫: Webの将来の発展のために コメント

確かに javascript は良くできてますが、dojo や jQuery、YUI 等の実装を見ると、泣けてくるものがあります。 効率を上げるために、変数名を短くしたり、include の代わりに、XHR でスクリプトを読んできたり、 クラスを実現するためにプロトタイプを文字列としてコピーしたり…。

変数名を短くしたりするのは、単にネットワーク越しにjavascriptのコードを送るという特性上にすぎない。ブロードバンドがだいぶ普及したとはいえ、ファイルサイズは小さい方がダウンロードも早い。そういうコードの圧縮は、専用のソフトウェアがいくつもあるので、人力でやる必要はない。

機能が貧弱なのは、Javascriptによく言われることだ。ただ、私個人としては、Javascriptは、簡潔で美しい言語だと思う。他の言語に比べれば、所謂special formが驚くほど少ない。そりゃLispには負けるかもしれないが、勝ってもあまり嬉しくはない。

もっとも、それらライブラリが便利になったおかげで、今やDOM Level 2 を直接叩くなどといった面倒なことは誰もやらなくなり、 これらはクロスブラウザを謳っているのでIEだろうと、Webkitだろうと、だいたい似たような感じで利用できます。 これらがある限り、IEでDOM2が直接扱えなくても、あまり困ることはありません。

果たして、DOMを直接扱うのは、そんなに面倒な事なのだろうか。Web黎明期ならともかく、今はブラウザベンダーにも規格準拠の意識がある。実際、IEを除けば、主要ブラウザ間で同じように動く、DOMを使ったJavascriptのコードを書くのは、それほど難しいことではない。

Javascriptのライブラリは数あるが、ここ最近で特に注目されているのは、CSSのセレクターと同じ構文を使って、要素を絞り込める機能だろう。似たような機能を提供する者に、XPathがある。ところが、XPathは、HTMLやXHTMLに適用するには、ややオーバースペックすぎる。だから流行らなかった。皆、もっと簡単に要素を絞り込む方法が欲しかった。そこで、CSSのセレクターの文法を、Javascript上で実装するライブラリが現れた。これは最近、querySelectorとして、DOMにもドラフト化され、主要なブラウザでサポートされている。もし、本当にXPathを望んでいるのなら、Javascript上でXPathを自前実装するのも可能なのである。そんな実装がないのは、XPathに需要がないからだろう。

webは実に先進的である。常に実装が先行し、然る後に規格が後を追う。これは互換性の面から見て最悪だが、現実の例をみるに、最も速やかな発展方法だと思う。これを無視して規格を先行させたXHTML2やCSS3は、あまり成功していない。CSS3については異論もあるかも知れないが、少なくとも、CSS3のドラフトは、一部を除いて、あまり積極的に実装されているとは思えない。

現行のC++0xなんぞは、この点からみて最悪である。実装が全く存在しないのに机上で規格を語っている。だからこそ、Conceptは無意味に膨らみすぎて、お流れになった。また、実験的な実装をもってして、規格を決めたりしている。例えば、min()/max()をVariadic Templateではなく、Initilizar Listで実装するのは、ちょっとどうかと思う。絶対混乱する。

2009-07-18

Webの将来の発展のために

IEを死滅させるべきだ。IEは最悪のブラウザだ。IE6もIE7もIE8も、皆同様に価値がない。標準規格の準拠度の低さは札付きである。

ところで、ここに理解しがたい事実がある。このブログを閲覧する者のうち、四割はIEユーザーである。しかも恐ろしいことに、一割はIE6ユーザーである。已んぬる哉。

このブログは、個人的なブログで、とくに話題を限定しているわけでもないが、私の興味を引いたことしか書いていない。それでも尚、閲覧者の四割はIEユーザーであるという、この事実を如何せん。

どうすればいいのか。

意外なJavascriptとDOM実装の不具合

SecurityFocus
G-SEC - Security Consultancy and Expertise from Luxembourg - Products

ええええええ、そんなのありかよ。誰も今まで試してなかったというのか。

ところで、これが非常に気になる。

- Konqueror (Ubuntu)- allocates 2GB of memory then either crashes the Browser or (most often) the OS reboots. Ubuntu's memory management system appears to be configured as to NOT stop the process that consumes too much memory, but a random process. This sometimes leads to processes that are vital for the OS to be killed, hence the reboot. I am not kidding. Thanks to 'FX' for Memory management hint.

マジで?

Firefox4のUIのモックアップがChromeを意識しすぎな件

Firefox/Sprints/Windows Theme Revamp - MozillaWiki

初めにメニューを廃止したのはIEだったろうか。IE7のUIは、結構革新的だった。ただ、所詮はIE、肝心の中身が伴っていないのが、惜しい所だが。Chromeは、既存のしがらみにとらわれる必要はなかったのだろう。より革新的なデザインを用いた。メニューのないのはもとより、アドレスバーはタブの内側にあり、しかも検索バーと一体化しているというものだった。Minimalistの私には、とても気に入った。

2009-07-17

とりをはしらしめ、けものをとばしめる

とりをはしらしめ、けものをとばしめる。という言葉を、どこかで読んだ記憶があるが、どこで読んだか忘れてしまった。ググった所、中島敦の沙悟浄出世に出てくる。それなら、たぶんどこかに元にした漢文があるはずだと思って、手持ちの中島敦の本を開いた所、列子から引用したとある。そこで、列子を読んでみた。

Liezi : 周穆王 - Chinese Text Project

老成子學幻于尹文先生,三年不告。老成子請其過而求退。尹文先生揖而進之于室,屏左右而與之言曰:“昔老聃徂西也,顧而告予曰:有生之氣,有形之狀,盡幻也。造化之所始,陰陽之所變者,謂之生,謂之死。窮數達變,因形移易者,謂之化,謂之幻。造物者其巧妙,其功深,固難窮難終。因形者其巧顯。其功淺,故隨起隨滅。知幻化之不異生死也,始可與學幻矣。吾與汝亦幻也,奚須學哉?”老成了歸,用尹文先生之言,深思三月,遂能存亡自在,憣校四時;冬起雷,夏造冰;飛者走,走者飛。終身不箸其術,故世莫傳焉。

訓読すると、こんな感じだろうか。

老成子、幻を尹文先生に學ぶ。三年告ず。老成子請ふ、その過ることをして退くことを求む。尹文先生、ささやきて、これを室に進む。左右をしりぞけ、これに言を與へて曰く、
「昔、老聃の西に徂くや,顧みて予に告げて曰く、生の氣あり、形の状あり、盡く幻なり。造化の始まる所、陰陽の變ずる所は、これを生と謂ひ、これを死と謂ふ。數を窮め變に達し、因りて形を移すこと易きは,これを化と謂ひ、これを幻と謂ふ。造物はそれ巧妙、それ功深にして、固より窮め難くげ難し。因りて形はそれ巧顯、それ功淺にして、故に隨起隨滅。幻化の生死に異ならざるを知りて、始めて與に幻を學ぶべけれ。吾と汝と、また幻なり。なんぞ學をもちゐんや」と。
老成了に歸す。尹文先生の言を用ゐて,深思すること三月、遂に能く存亡自在にして、四時を憣校す。冬、雷を起し、夏、冰を造り、飛者とりを走らしめ、走者けものを飛ばしむ。終身、その術をあらはさず,故に世これを傳ふる莫し。

憣校四時
四季を自由に変えることができたぐらいの意か
終身不箸其術
古くは、箸と著は通じたらしい。

だいぶ漢文も読めるようになつてきた。それにしても、webkitがrubyを実装するのが待ちきれない。聞説、最近ruby実装開始をほのめかすコミットログがあったようだが。

ドキュメント中のrubyを一覧表示するbookmarklet

なんとなく作ってみた。たとえば、青空文庫あたりに使えると思う。

特におすすめなのは、夏目漱石 吾輩は猫であるだろう。javascript:alert(document.getElementsByTagName("ruby").length);、すると分かるが、9214個のrubyが使われている。壮観だ。

このBookmarkletでは、DOMを使って、全ruby要素の巡回と、文字列の結合と、innerHTMLを使ったドキュメントの動的な生成を行っているが、青空文庫の「吾輩は猫である」で試してみた所、体感で最も速いのは、Safari 4.0だった。ほぼ一瞬で表示される。次いで、Chrome 3.0.193.0が、許容範囲の早さだった。Opera 10 Beta 2とFirefox 3.5は、少々時間がかかるが、問題なく動いた。

IE8では動かない。開発ツール曰く、「構文エラーです」と。エラー内容が不親切すぎる。具体的にどこに構文エラーがあるのかさっぱり分からない。少なくとも、Firefox、Oper、Chrome、Safariでは、一切のエラーが表示されないコードだというのに。我々人類はWebの未来のためにもIEをボイコットすべきだ。

javascript:(function(){function read_rb(elem){var rb = new String() ;var size = elem.length ;for ( var i = 0 ; i != size ; ++i ){if ( (elem.item(i).nodeName.toLowerCase() !== "rt") && (elem.item(i).nodeName.toLowerCase() !== "rp") ){rb += elem.item(i).textContent ;}}return rb ;}function read_rt(elem){var rt = new String() ;var size = elem.length ;for ( var i = 0 ; i != size ; ++i ){rt += elem.item(i).textContent ;}return rt ;}function parse( elem ){var rb = read_rb(elem.childNodes) ;var rt = read_rt(elem.getElementsByTagName("rt")) ;return { first : rb, second : rt } ;}var rubys = document.getElementsByTagName("ruby") ;var index = new Array() ;var size = rubys.length ;for ( var i = 0 ; i != size ; ++i ){rubys.item(i).setAttribute("id", "ruby_id_unique" + i) ;var result = parse( rubys.item(i) ) ;index.push("<li><a href='#ruby_id_unique" + i + "'>" + result.first + "\u3000\uFF1A\u3000" + result.second + "</a></li>") ;}var list = document.createElement("div") ;list.innerHTML = "<ul>" + index.join("") + "</ul>" ;var body = document.getElementsByTagName("body").item(0) ;body.insertBefore(list, body.firstChild) ;})() ;

追記:ECMA-262にはconstはないと言われ、調べた所その通りだったので、修正した。規格を重んじる身として情けない。

昨日辺り、なぜ、わざわざ再帰的にDOMを巡回してすべてのTextノードの結合を自前で行わなければならないのか疑問に思ったので、DOM level 3のNodeインターフェースのtextContentを使うコードに変更した。しかし、これはIEでサポートされていないので、結局IEでは動かない。

2009-07-16

悪い冗談にしか思えない

Internet Explorer の MVP 大募集中 @ ~ マイクロソフト社員が語る ~ MVP アワードプログラムの魅力 - Windows Live

IE MVP? 四六時中 IE のこと考えてくれたりする人?

ああ、IEはなんてクソなんだ。DOM level 2すらまともにサポートしてない。XHTMLすらサポートしてない。Javascriptは遅すぎる。

ということを考える人か。噴飯に堪えざるなり。

IE 非互換サイト撲滅? 噴飯に堪えざるなり。規格準拠サイト推奨なら分かる。Firefox、Opera、Safari、Chrome間で互換のあるXHTML、CSS、Javascript、DOMを手で記述することはできるが、そこにIEを加えるのは不可能だ。むしろ、IE専用のコードを別に書く必要がある。それを互換というのかは、疑わしいものだ。まずXHTMLを真面目に使ったらIEで動かないという現実を何とかせい。

IE開発チームはこの長年、何をやっていたんだ。IE6は、確かに当時は優れていた。Netscape Navigatorを駆逐するほど優れていた。その結果九割以上のシェアを占め、そこから進化が止まった。IE6は長すぎた。Webはどんどん先に進み、FirefoxやOperaがシェアを取っていく中で、IEは不思議なことに、IE6に停滞していた。そしてようやくIE7がでたが、何が変わったのかさっぱり分からなかった。IE8には期待していた。無駄だった。一体連中はこの長の年月、何をしていたんだ。Javascriptが早くなったと言ったって、他のブラウザと比べれば、まだ遅すぎるし、第一DOMがまともじゃないので、使い物いならない。XHTMLには未だに対応していない。互換リストの構築に全リソースを費やしていたのか。そんな中で、いまどきIE MVPに立候補。自ら、「私はWeb規格に疎い劣った人間です」と宣言しているような物じゃないか。

ヤフオクで、お台場の実物大ガンダムの型の高さまで上がれる権利が出品中

[チャリティ]実物大ガンダム・五輪招致ロゴ掲出セレモニー出演権 - GREEN TOKYO ガンダムプロジェクト・チャリティー・オークション - Yahoo!オークション

ヤフオクに、あのお台場の、18メートルの実物大ガンダムの、型の高さまで高所作業車で上がれる権利が出品されている。落札金は、2016年のパラリンピックの誘致活動や、パラリンピックに関連する事業に使われるらしい。今現在、約百万円の値が付けられている。

これを落札するヲタは、一体どんな名ゼリフを叫ぶのだろうか。

中村文則著 銃

中村文則著、「銃」の主人公が、私に似ているという声を受けたので、読んでみた。私に似ているとは、とても思えない。

まず、主人公はタバコを吸う。これだけで私にとっては、その全人格と全業績はおろか、存在自体を否定するに足る。また、何かにつけて女と寝たがる。これも理解できない。私は今まで女と無縁の生活をしてきたし、これからもそうするつもりである。それにしても、なぜタバコと女を書かなければならないのか、私には理解できない。物語に全然関係がないと思う。

まあ、これらは無視しよう。タバコに関しては無視できないのだが、何とか努力しよう。物語というのは、偶然中を拾った主人公が、やたらと能動的になり、また銃を使いたい衝動がどんどん加速していく、というものだ。

銃を隠し持つとか、使うというのは、分からないでもない。ただ、表面を磨き上げるだの、袋に入れて常に携帯するだのと言うのは、どうも理解できない。無論、撃った後の銃は分解して清掃するのが好ましいが、作中で行っているのは、ただ表面を磨くだけである。また、実際に使いたい場合は、携帯するのも当然だろうが、主人公は特に使うあてもないのに携帯している。使う予定のない銃は単なる荷物にすぎないのではないか。この辺の心情は、私には理解できない。

私がこの小説の主人公のような立場になったらどうなるかを考えてみたが、どうせタンスの奥にでもしまい込んで、すぐにその存在を忘れてしまい、数年後、数十年後に、全く関係ないことから、偶然に所有が発覚して捕まるという筋書きになると思う。小説の筋書きとしては、展開が遅すぎるので難がある。

文学的にはどうなのかというと、可もなく不可もなくといった感想になる。文章力や構成力は、読むに耐えぬほどひどいという事はない。ただ、個人的な嗜好として、一人称の文体が好みではないし、そもそも、「私」という一人称は、この主人公にふさわしくない。また何度も言うように、何かにつけてタバコと女が出てくるのも、理解できない。本当に必要なのだろうか。

それにしても、久しぶりに最近の小説を読んだ。

Chrome OSに関する面白い予想

漢(オトコ)のコンピュータ道: Chrome OSアーキテクチャ大予想!

まあ、なんとなくこんな形もありかなとは思っていたが、実際にこういう予想をぶちまけている文章を読んだのは初めてだ。かなり大胆な発想で面白い。

ただ気になるのは、どうやってChrome OS上で開発するのかと言うことだ。どうしてもネイティブコードでやらなければならないことはある。そういう場合に、ローカルサーバーを利用する。それはいい。では、どうやってそのプログラムを、Chrome上から開発するのか。その辺がよく分からない。ソースコードを書くには、やはり使い慣れたエディタを使いたい物である。ネイティブコードを扱うプログラマが、果たしてChrome上に構築されたエディタもどきで満足できるだろうか。それにデバッグもまた、Chrome上から行うのだろうか。それはあり得ないだろう。

あるいは、ネイティブコードのプログラムの開発は、べつのOS上で行い、然る後にChrome OSへ持って行くのだろうか。

それに、Webはまだまだクライアント上のアプリをすべて置き換えるには力不足である。描画ひとつ取ったってそうだ。canvasなど貧弱極まりない。

ところで、この人、かなり理想主義者の風格があって興味深い。こんなブログを今まで知らなかったとは。

小さいことはいいことだ

Chromium Blog: Smaller is Faster (and Safer Too)

Chromeのフルアップデートの容量は約10MBもある。これは帯域を喰うし、アップデートにも時間がかかる。しかし、内容的には、完全に違った物ではなく、だいたい似たようなものになるので、差分だけ配布すればいいのでは。

ということで、Chromeのアップデートには、独自に改良したdiffを使っているようだ。

何度も言うが、プログラムは静かで速やかなアップデート機能を提供すべきである。ユーザーは救いようのない程どうしようもないバカであるという前提に立つべきであり、ユーザーにアップデートを期待するのは無理というものだ。

そういえば、今現在、Firefox3.5のJITと、IEのActiveXに、zero-day脆弱性があるとか聞いている。これは考えてみれば、結構珍しいことだと思う。

クレジットカードで215京円を請求してしまった原因は、非常にしょーもないものだったらしい

Slashdot IT Story | Software Glitch Leads To $23,148,855,308,184,500 Visa Charges

例の215京円の請求書は、ソフトウェアの不具合が原因だというのは、すでに言われていた。では、具体的にどんな不具合だったのか。それを推測した人がいる。それによるとこうだ。

まず、小数点の計算を省略するため、データは、金額を100倍して格納されているはずだ。すると、データ上の数値は、231488553081845 * 100で、2314885530818450000、ということになる。これを16進数に変換すると、20 20 20 20 20 20 12 50、となる。C/C++プログラマならもう気がついたと思うが、hexで20といえば、空白文字である。つまり、何らかの理由で、データに空白文字が入れられてしまったのだろう、とのこと。

一応、それらしい推測だ。ソフトウェアの不具合の原因なんて、分かってみればものすごくしょーもないことが多いのだろうが、こういう形で推測されると、やはり苦笑するしかない。

Javascriptはどのくらい再帰できるのか

実際に試してみた。まず、現状で末尾再帰を最適化するJavascriptの実装はない。では具体的に何回ぐらい再帰できるのかという話だが、すべてのブラウザで、まず十分だろうというぐらいはできるようだ。再帰関数の内容によっても、上下するのかも知れないが、まあ、再帰でループを書くような極端なことをしない限りは、実用上問題ないだろう。

結局、末尾再帰の最適化をしても、ほとんどのWebサイトでは恩恵を得られない事実があるのだろう。C++だって、有名どころのコンパイラは末尾再帰を最適化しているのだが、そもそもC++で末尾再帰の最適化が必要なコードを書くプログラマーは、かなり少数だと思われる。

尚、IEはDOMのサポートはおろか、application/javascriptすら無視するというやる気のないブラウザなので、このテストは実行できない。IE8で実行できるような同等のコードを書いて実行してみたが、2455回の再帰ができた。Firefoxもそれぐらいの再帰ができるので、現行のJavascriptプログラマは、二千回は再帰できるということを目安にするべきだと思う。二千回というのは、通常のHTMLのDOMを再帰的に巡回するとか、Javascriptで現実的に扱うぐらいの要素数の配列のクイックソートを実装するとか、それぐらいのことなら十分できるはずだ。IE6は知らん。

2009-07-15

最近、読むべき小説がない

asahi.com(朝日新聞社):芥川賞は磯崎憲一郎さん、直木賞は北村薫さんに決まる - 文化

芥川賞といえば、世間知らずとビッチなガキ二人(実は自分の方が年齢的に下であることを棚に上げていうのだけれど)を受賞させてみたり、中国人を受賞させてみたりと、その作品の質よりも話題集めによる一時的な売り上げの増加を期待する賞だったはずだ。だいたい、中島敦も太宰治も評価できずして、何が文学賞の面目か。直木賞も似たり寄ったりだろう。結局は出版社側の宣伝にすぎない。

それにしても、なぜ最近の小説はこんなにクソなのか。ここ最近、読むべき価値のある小説はでていない。最近、古文ばかり読んでいるのも、現代小説に読むべきものがないからだ。

高校生の頃、一時期ラノベに凝ったこともあったが、すぐに飽きてしまった。どのラノベを読んでも、やれ歴史上実在する人物の生まれ変わりだの、あるいはそこから取った名称を必殺技として用い、あるいは、エターナルフォースブリザード、一瞬で相手の周囲の大気ごと氷結させる、相手は死ぬ、といった程度の浅はかな発想で物を書いているのである。しかも、作品中のあらゆる場面において、萌えと称する性欲的写像を伴う。こんな駄作は世間の酷評を買うに違いないと思っていると、不思議なことに、むしろその逆で、その性欲的小説をして、人生を写し得たものとして認めている。人生は果してそんなものであろうか。

ラノベ自体に反感があるわけではなく、中にはいい作品もある。高校生当時、面白いと思ったラノベを挙げてみれば、時雨沢恵一の「キノの旅」や、増子二郎の「ポストガール」、橋本紡の「半分の月がのぼる空」などだ。機会があれば、今刊行されている続編も読んでみたいとは思うが、今は古典のほうが面白い。

今は、古典を読んでいる。結局、それぐらいしか読む物がないというのが実情なのだが。

ただ、論語を読んだおかげで、造次顛沛といった言葉を読んで、その意味が感覚で分かるのは、利点だが。

日本というのは大昔から変わってないらしい

私の高校時代の知人の一人に、漫画やゲームで歴史を語る阿呆がいる。

曰く、「戦国時代の某は~」、「幕末の某は~」、「明治の某は~」

その実際はどうだったか、怪しいものである。およそ、歴史に名を残した人物ほど当てにならぬ者はない。福澤諭吉は、隣にいたらぶん殴りたくなるほどウザい奴だったろうし、夏目金之助の教師としての資質は甚だ疑問であるし(彼の生徒が、ホレーショの哲学なんていう誤訳を書き残しているぐらいである)、森林太郎は、旧陸軍にしてみれば、国賊ものの阿呆である。本当に優れている人間は、自分の業を残し、なおかつ名を残さぬ事に成功した者である。例えば、徳川秀忠や徳川慶喜、大正天皇などが該当する。それに引き替え、現在名の知られている人間というのは、大抵、明治時代のイデオロギーが関係しているのである

ここに、幼學綱要という本がある。これなどひどい書だ。およそ書かれていることはすべて間違っている。事実といえば、過去、そのような人物がいたというだけであり、その人物に関する逸話は、かなり本書の主張に合わせるため、脚色が入っている。大方は、大日本史から抜き出してきたのだろう。いかにも傲慢ちきでホモな光圀の好みそうな話ばかりだ。朱子学は何と馬鹿げた学問であったことか。

結局、明治という時代と政府の空気の中で、このような価値観が生まれたのだろう。

漢文を学べば学ぶほど、朱子学の馬鹿馬鹿しさが鼻について仕方がない。日本の歴史教科書は、早く朱子学の亡霊から脱却すべきだ。

では明治以前は良かったかというと、そうでもない。今日、日本で、ばかばかしい歴史観の小説、ドラマ、映画、漫画、ゲームが流行るのも、結局は、日本という文化の為せるものなのか。

映画のDVDを買うなんてよしたほうがいいぜ

p2pnet news » Blog Archive » Never buy another movie DVD!

映画のDVDを買うなんてよしたほうがいいぜ。

昨日の晩なんだがな、Foxtel Channel(訳注:オーストラリアの有料放送のこと)の415チャンネルのムービーグレイトって番組で、古き良き、North West Frontier(1959年リリース)っていう映画を見てたんだ。

で、imdb.comを見てみたんだ。

20年以上前の映画はTCMが権利を持ってると思ってたんだ。

これが明らかに違うんだな。この映画は、今年だけで、4回は放送されてるんだ。

この映画自体は、本来1959年にイギリスで発売されてて、当然、今年に著作権が切れるはずなんだが、どうも、映画業界が2年前に、オーストラリアで再発売したらしいんだ。要するにオーストラリアでは、著作権はあと48年存続するってことかい。

そりゃ違うだろ。この映画は今年の10月13日に、著作権切れ映画のコレクションに加わることになる。今、P2P界隈で転がってるのは、疑う余地無く、1959年10月13日にイギリスで発売されたやつだ。

それに、今年、著作権が切れる映画は6699本もある。P2P界隈はこの辺の映画をどんどん流して欲しいね。こういうのはもう流されてるが。

  • Good Day for a Hanging (1959) [english].avi
  • John Wayne - The Horse Soldiers - English - Full Movie (1959).avi
  • Journey to the Center of the Earth, by Henry Levin, Pat Boone, James Mason, Arlene Dahl, 1959, eng).avi
  • Plan 9 from outer space (1959 - ENG).avi
  • Rio Bravo - (Howard Hawks - 1959) - Dual Español-English - (DvdRip-Xvid- Mp3).avi
  • The Mouse That Roared - ENG [Peter Sellers,Jean Seberg] - 1959.avi
  • THE MUMMY-1959(La Momia)[Eng-Sub-Spanish]DVDRip.Xvid.MP3. By Todos.avi
  • The_Battle_of_the_Sexes(Crichton,1959)[Xvid,MP3,ita+eng]HoHoHo.avi
  • Sleeping Beauty[1959]DvDrip[Eng]-Stealthmaster.avi
  • Anthony Quinn, Richard Widmark, Henry Fonda - Warlock [1959](Eng-Xvid).avi

Foxtelフィルムがもっともっと古い映画を放送してくれれば、P2Pファイル共有も潤うって話だ。

今現在、だいたい三万本ぐらいの映画が著作権切れなんだが、P2Pファイル共有は、合法的で、TCMやムービーグレイトよりも安価な、入手方法になるだろうと思うよ。

世界各国のケーブルTV会社はヤバいと思ってないんだろうか。

例えばだね。三万本の映画が、ひとつあたり90分だったとしたら、今後10年間の間、一日12時間、ひとつとして同じ映画を繰り返すことなく映画観賞できるんだぜ。観終わる頃には、また別の映画が、だいたい四万五千本ぐらい、著作権切れになっているって寸法さ。

やれやれ、もうDVDなんて買う必要がないじゃないか。

誰かこれで一儲けしてはどうかな。

例えばだな、ケーブルTVとか?

急げ急げ

注意:この文章は、オーストラリア人によって書かれた文章である。よって、オーストラリア限定の話である。日本や合衆国アメリカの法においては、当てはまらない。なぜならば、日本国内においては、2003年の著作権法改正により、映画の著作権だけ、保護期間が70年に引き延ばされたからである。1954年以降の映画の著作権は、2024年以降まで存続することになる。それでも、あとたったの15年にすぎない(業界がもう一度圧力をかけて引き延ばさなければの話だが)。アメリカの場合はもっと悲惨で、例のミッキーマウス法により、作品の発表後、95年間というすばらしく長い著作権の保護期間があるので、もう数十年は無理である。

現状では問題だと思うC++0xの機能

User Defined Literal:予約語との兼ね合いが不明確。後の規格改定に互換性の問題を引き起こすことが予想される。廃止すべき

Raw String Literal:何故あんな珍妙な文法にならざるを得なかったのか理解できない。もうすこしマシな文法も考えられたのではないか。

それから、futureとかpromiseとか、どうも非英語圏の人間には、名前から機能が推測しづらい標準ライブラリの命名も、どうかと思う。

215京円をチャージした子供、クレジットカードを停止させられる

Consumerist - Unruly Teen Charges $23 Quadrillion At Drugstore - Visa buxx

現在、1USDは93円12銭なので、約215京円か。全人類を絶滅させるに足る金額だな。

ちなみに、世界の人口を60億人とすると、一人当たり35億円ずつ分配できることになる。

2009-07-14

C++0xの例の噂

例の噂を肯定する傍証はいくつかあったので、朝から書こうか書こうかと悩んでいたのだけれど、ようやく、確信できる情報を得たので、書くことにする。

現在、フランクフルトで行われている会議にての、C++0xの例の噂は正しい。こんな事が初日の会議で決まるとは、よほどすごい激論が飛んだのか、あるいは単に、みんな現在の設計に疲れ切っていたのか、その辺は、よく分からない。But it's dead. Stone dead. It is no more. It has ceased to be.

実際の所、仕方がないと思う。現状でまともな実装がないし、偉い人たちの間ですら意見がバラバラなのだから。

だから、本当に切望している人がいるならば、今すぐ一念発起して、現状のドラフトから完璧な実装を作り上げて、実際に現実のコードを書き、その利用例を示すべきだと思う。さもなければ、今後十年は望む可くもないし、再設計するから、現在のドラフトとは、だいぶ違った物になるだろうと思う。

ともかくも、これで、規格化されるのは、最短でも十年ぐらい先の話になるので、どんな設計がふさわしいか、しばらく考えてみるのも悪くないと思う。実際、現状では複雑すぎるというのは、誰しも同意する所だと思う。一体どうやれば単純化できるのか。これについては思う所があるので、後からまとめて書くつもりだ。

ドラクエってそんなに面白かったかな

ドラクエ9に対する酷評が続出しているようだが、はたして、過去のドラクエはそんなに面白かっただろうか。

私のコンソールゲームといえばスーファミになるので、ファミコンのドラクエについては、語ることができない。ただ、スーファミへの移植作でも、それほど面白いとは思わない。

私がドラクエをやっていた時、何が不満だったかといって、キャラの移動速度ほど不満だったことはない。あまりにも遅い。これは、ドラクエ6で改められ、移植版ドラクエ3でも、受け継がれたが、それまでは、耐え難いほど、移動速度が遅かった。

クリアに必要なのは単に作業という点もある。「レベル上げ」と称して、延々とその辺をぐるぐる歩き回り、モンスターとエンカウントするや、ひたすらボタンの連打をしなければならない。とても退屈な作業だが、やらないわけにはいかない。なぜなら、次に攻略しなければならないダンジョンのボスが、あまりに強いからだ。

また、攻略には、ある場所を調べるであるとか、ある一連の動作をしなければならない場合もあるが、これがまたひどい。その情報を教えてくれる人物が、これまたその実際の場所とは全く関係ない場所にいる。そこに行くには、リアル時間で5分か10分はかかる。退屈この上ない。しかもこれは、あらかじめその場所が分かっている場合の最短時間であって、実際には、その情報を教えてくれる人を探さなければならない。これには何時間もかかる。探す方法はといえば、町人全員に「はなす」だとか、画面上の行ける場所すべてに行ってみるだとか、延々と「しらべる」を繰り返すだとかが必要である。必要なのは、ただ時間と作業量である。

魔法も問題だ。所謂、攻撃魔法というのは、まともに使うことができない。なぜなら、HPを回復するために、MPは温存しておかなければならないし、そのダンジョンの奥には、ボスがいるかもしれないからだ。ボスと戦うためには、なおさらMPを温存しておかなければならない。そんなのはあらかじめ分かっていることであり、バランスを取るのが面白いのではないかという意見もあるだろう。もっともである。ところが、ボスがいるかどうか、そのダンジョンがどれくらい長いのかというのは、攻略本でも参照しない限り、絶対に分からない。なぜなら、ゲーム中のヒントはないからだ。従って、攻略本を参照せずにクリアしようと思ったら、極力魔法を使わずに行くしかない。MPを回復するアイテムは貴重であり、また、入手できたとしても、大量のゴールドが必要だったりするので、これまた面倒で単調な作業が必要になる。

マリオをクリアするには、タイミング良くボタンを叩く必要があり、ゼルダをクリアするには、より頭を使う謎解きが必要である。ドラクエにはそれがない。必要なのは作業だけ。皆、そんな作業などしたくないので、攻略本を買う。今から思えば、攻略本もビジネスの一部ではなかったのかと思う。たとえば、公式攻略本以外を排除する訴訟もあったからだ。やはり、攻略本は儲かっていたのだろう。単なる情報に対して権利を主張できるかというと疑問ではあるが。

では、ストーリーはどうだったか。私が当時の友人達とドラクエについて話す時に思ったのは、皆、キャラクターの名前などを、あまり覚えていないということである。私はかく言うとおり、「単調作業」が嫌いな人間である。単調作業は、人間たるものの行うべきことではないと考えている。一方、その友人達はいずれも、レベルをアホみたいに上げるほどドラクエをやり込んでいた人たちであった。それなのに、キャラの名前すら記憶に残っていない。結局、作業ができれば何でもよかったのだろうか。

私の持っている単調作業への本能的忌避は、私をしてドラクエをクリアさせしめるのに、数年を要した。気が向いて暇な時だけやっていたのだ。

2009-07-13

同訓異義:いふ

同じ訓読みをする漢字は多数ある。つまりそれは、日本語の上では、区別してこなかつた、微妙に違う意味を持つ言葉だ。訓読みが同じなので、昔から混用されてきたし、現代日本語では、一部の訓読みは、あるひとつの漢字に統一されてしまつてゐる。また、日本語IMEはいくつかでているが、どれも文脈を考慮して漢字を使ひ分けるほど賢いものはない。そこで、間違うことがよくある。私も、わざわざ入力した文章の漢字変換を訂正するのが面倒なので、大抵は、そのままにしてしまふ。

謂:評価していふ。意味をいふ。相手に告げていふ。例、「ぬことは猫の謂ぢや」

云:人や、書物からの言葉を引用するときに用ゐる。例、「詩に云ふ、五白は優れた猫なりと」

曰:これは、人の言葉などを次に示すのに用ゐるらしい。英語のsayにあたるそうだ。例えば、論語では決り文句のような、「子曰」など。また、人や物事の名称を表すのに用ゐられることもあるさうだ。

言:物をいふという意味らしい。名詞と動詞の両方で用ゐられる。例えば論語では、「子張曰、書云、高宗諒陰三年不言、何謂也」などという例がある。現代日本語では、この漢字が一般に用ゐられている。おそらくは、名詞と動詞の両方で使われているので、分かりやすかつたのだろう。

道:これも、いふと読む。日本語としてはあまりなじみがないが、漢文では頻出する。意味は、言と同じだが、名詞としては使われていないようだ。

2009-07-11

Silverlight 3がリリースされた

早速試してみた。H.264は再生できるが、HE-AACをサポートしていない。

しかし、時代の流れはもう、これらのプラグインではないと思う。

2009-07-10

ざわ・・・福本の描き方・・・ざわざわ

コミックナタリー - カイジ作画に驚愕の事実!西原画力対決に新宿が揺れた夜

「回しながらじゃないと」とつぶやきながら、さらに右に25度回転。目、鼻、髪と描き進めた。「すべてのマンガ家のお約束がいま破られています」とサイバラも唖然。

ざわ・・・回しながら描く・・・奇妙、意外、驚異、怪奇、隔絶、失語

あと、前々から思っていたけれど、福本って意外とイケメンなんだよね。あの漫画からは信じられない。

IEに期待するのは無駄だと思う

Google OS が画期的なOSにならない7つの理由 - アンカテ

現時点で、IEに期待するのは無駄だと思う。あのブラウザからはやる気が感じられない。IE8になってまで、いまだにDOM level 2すらサポートしていないというていたらく。期待するだけ無駄だ。一体この数年間、MSのIEチームは何をやっていたというのか。チーム総出で互換性リストを手動で追加する作業でもやっていたに違いない。

Bloggerの不思議な文字参照への変換

Bloggerは、いくつかの文字を、文字参照に自動で変換してしまう。回避方法はない。

問題は、その文字に、句読点が含まれていることだ。つまり、U+3001と、U+3002のことだ。

従って、上の文章は、HTMLコード上では、「Bloggerは&#12289いくつかの文字を&#12289文字参照に自動で変換してしまう&#12290;回避方法はない&#12290;」となってしまう。これは、HTMLならば、特に問題はない。まともなブラウザなら、ちゃんと変換してくれるし、その変換が実感できるほど遅いと言うことはない。問題は、常に文字参照に変換されてしまい、回避できないと言うことだ。たとえば、script要素の中にJavascriptのコードを書き、この中で句読点を使うと、HTMLの文字参照に変換されてしまう。Javascriptは、HTMLの文字参照を扱えないので、正しく実行できない。此を避けるため、Javascript上の文字列で句読点を使いたい場合、\u3001、\u3002としなければならない。実に面倒だ。

このページは、はてなブックマークしても無駄です

おねがい!id:Hamachiya2ちゃんがギークのそれなりのひと!! - orangestarの日記

そんなBOTを作るには及ばない。第一その方法は、確実に法に触れてしまうだろう。本当にやりたいことは、はてなブックマーク経由での閲覧を拒否することである。本物のgeekは、合法的な手段を以てして、目的を達成するのだ。

たとえばこのページだが、はてなブックマークから直接飛んでも、読めないようになっているはずである。他のページは問題ない。私ははてなブックマークになじみがなく、実際にテストするのが面倒なので、あえてテストはしない。たぶん動くはずである。読者はさっそくにも、このページをはてなブックマークして確かめてもらいたい。このJavascriptを使ったあげく、痛い奴だと見なされて、逆にブックマークされるかも知れないが、それは私の知ったことではない。

if ( (document.referrer.search("b.hatena.ne.jp") !== -1) )
{
  window.location.replace( "about:blank", "_self" ) ;
}

しかし、digg.comといい、はてなブックマークといい、あの手のブックマークするというサービスは、私が思うに、一長一短だと思う。

利点としては、実際、便利である。というのも、自分にとって見る価値のあるWebサイトというのは、毎日大量に作られている。ただし、時間的な制約で、それを自分自身ですべて探すわけにはいかない。見る価値のあるWebサイトを紹介しているサイトというのもたくさんある。しかし、常に自分にとって面白いサイトのみをリンクしているわけではないし、そのサイトで紹介されないページもたくさんある。ところで一般に、多くの人が評価するページは、何らかの見る価値のあるページであることが多い。そこで、digg.comやはてなブックマークで、最近多くブックマークされているリンクを、feedで取得している。こうすれば、わざわざ自分で情報を探さなくて済む。実に便利だ。自分ではわざわざブックマークしたいとは思わないのだが、せっかく他人がブックマークしてくれているので、その恩恵に與らない手はない。

欠点としては、コメントがリンク先のサイトまで届かないことである。多くのブックマークサービスでは、ブックマークと同時に、コメントを付けることができる。しかし、コメント機能は、大抵のブログにはあるし、このブログも、コメントを開いている。しかし、コメントは、ブックマーク側で止まってしまい、このブログに届くことはない。

例えば、このブログは弱小とはいえ、年に一度ぐらいは、注目される記事を書いている。その際、ページビューは確かに得ているのだが、一切コメントがない。一体、数千人も閲覧者がいるのであれば、誰か一人ぐらいコメントを残していても良さそうなものである。しかし、ブログにコメントはない。本来、このブログに付けられるべきコメントは、ブックマークサービス側に書かれている。私は、たまに思い出したように、自分のブログのはてなブックマークで確認しては、「この本の虫とかいうブログ書いてる奴は、もっとここをこうしてつっこんで書けば、面白い記事になるのにアホちゃうか」などという、だいぶ昔のコメントを発見するのである。その声は、明らかに私に向けられて発せられている批判なのにも関わらず、私に届くかどうかは分からない。第一、この例の場合、届いたとしても遅すぎる。

あるいは、はまちや2が言うように、批判はしたいが、それに対する反論を恐れている弱虫が、リンク先ではなく、ブックマーク上でコメントするのかも知れない。つまり、Twitterがあんなに過去のつぶやきを探しづらいのも、反論が入らないように、わざとそうしているのだということか。

思考中:何故かまだOperaで動かない。問題は、その理由が分からないことだ。Operaでlocation.replaceが無効になっていると言うことはない

なぜかOperaでは、location.replace( "javascript:'はてなブックマーク禁止!';") ;ができない。何故だろう。IEがtype="application/javascript"を無視する。

2009-07-09

Google Chrome OSの世界初のスクリーンショット(だと主張しているもの)

First Google Chrome OS screenshots leaked?

怪しいけれど、とりあえず現時点では何も情報がないので、ここに記録しておく次第。

google chrome OSに関しては、だいぶ憶測が飛び交っているけれど、所詮はYet Another Linux Distributionになるんじゃないかと思う。最もよくいわれているものとしては、既存のWindow Systemを使わないとかいう噂が流れていることで、ネイティブアプリは一切サポートしないのかとかいう憶測があるけれど、既存のGPUのドライバを使えるようにする以上、たとえ自前実装にせよ、現行のLinuxのGUIのAPI互換でなければならないだろうし、Chromeが動く以上、とくにAPI互換でなければならないと思う。Windows、Mac、Linux版に加えて、Chrome OS版をさらに付け加えるならともかく。

それに、現在のWebは、まだFlashを無視することができない。HTML5が普及すれば、Flashが必要となる場面は減ってくるだろうが、やはりまだ、現行のHTML5ドラフトの規格内では、力不足だ。とすれば、Flashのプラグインが動かなければならないので、やはり既存のGUIとAPI互換でなければならない。

それに、現時点では、Webアプリで画像や動画の編集をするには、まだ非力すぎる。それに、低スペックなネットブックは、そもそもネットブックは、画像や動画の編集を十分に行えるかという問題もある。ネットブック限定のOSならば、そういう機能は無視していいかもしれない。つまり、画像や動画の編集は、もっとハイスペックなデスクトップ機で行うわけで、ネットブックは携帯電話のような手軽な機械に成り下がる。それもなんだか悲しいが。

Webにも当てはまるのだが、特にOSならではの問題もある。エンドユーザーというのは基本的に、どうしようもない阿呆であると考えて差し支えない。彼らは宗教的とも言える不可思議極まりない価値基準を持っている。たとえば、あるバージョンに固執してアップグレードしないのはおろか、セキュリティパッチすらあてないといった、実にカルトめいた信条を持っていることだ。Googleならば、過去の価値観にとらわれず、現在のChromeがやっているように、OSを静かにアップグレードするぐらいはやってくれるだろうが、果たして下位互換性を守れるだろうか。その辺も、難しい問題だ。サードパーティのクソコードを責めた所で、ユーザーは分かってくれない。ユーザは、「OSをアップグレードしたら既存のプログラムが動かなくなった。悪いのはOSだ。この今まで問題なく動いていたプログラムじゃない」と考える。「OSをアップグレードしたら、既存のプログラムが動かなくなった。しかるに、OSはドキュメント化されている挙動を何ら変えてはいない。ドキュメント化されていない挙動に依存したこのプログラムのコードがクソだ。こんなプログラムはボイコットするべきだ」とは考えてくれない。Microsoftが成功したのも、結局は下位互換性を最重要視しているからにすぎない。どうなることやら。

規格を読むべきだと思う

参考書を探したり誰か他人の書いた解説をググる暇があったら、規格を読むべきだと思う。仮に、参考書や他人の解説を読んだとしても、その後に規格に当たって確認するべきだと思う。

ところが、Webというのはまたややこしくて、ほとんどのブラウザで実装されているのに、規格が存在しないことがある。HTML5の真に評価すべきところは、こういうデファクトスタンダードな部分、これまで、ブラウザベンダーが必死こいて他のブラウザを解析して、できるだけ同じように似たように問題の無いように実装していた部分を、規格化した所だと思う。

それにしても、audioやvideo、canvasのような機能を規格化するのが、何故こんなにも遅れたのだろうか。これまで、ブラウザの独自拡張や、プラグインという形で、似たような機能は提供されてきたわけだし、実際需要があったからこそ、Java AppletやFlashが興隆したのだから、もっと早く規格化されてしかるべきだったのだ。なぜこんなに遅きに失したのか。

あと、canvasの行列を逆順で適用するように設計したAppleは腹を切ってわびるべきだと思う。

2009-07-08

そろそろWebアプリの時代かなぁ

Official Google Blog: Introducing the Google Chrome OS

HTML5には未来を感じる。音声や動画を再生でき、2Dのグラフィックも描画できるとなれば、もう本物のプログラムと言っていいはずだ。問題は速度だ。現在のネットブックは、HD動画の再生には、ややスペックが足りないし、javascriptは、いくらJITコンパイルが発達しようとも、もっと静的な言語からの、すでにネティブコードになっているものにくらべては、やはり遅いので、低スペックのネットブックでは不利だ。もちろん、時間がたてば、ネットブックのスペックも底上げされていくのだろうが、それは五年、十年といった長い目で見た話であって、一朝一夕には望めない。

五年前のことを思い出してみる。まだIEが9割以上のシェア率を誇っていた。無理もないと思う。NetscapeはIEとの競争について行けなかった。Firefoxは、まだ、知名度が驚嘆に低かったはずだ。今調べたら、Firefoxは五年前の11月にリリースされたとある。はて、あのころはIEしか使っていなかったから、さっぱり覚えていない。Operaは、無料ブラウザではなかった。その頃はちょうど過渡期だったが、無料版は、ブラウザ内に広告を表示していたはずだ。KHTMLはさらに無名だったし、第一Windowsで使えなかった。

実際、五年前は、ほとんどIEぐらいしかまともな選択肢がなかったわけだ。ただ、IEを利用したタブブラウザが流行っていた。そのころは十種類以上もの、IEのライブラリを用いたタブブラウザがあったように記憶している。

一つ疑問なのは、Netscapeの牙城を崩し、しかもブラウザシェアを逆転させて市場を独占したIEが、なぜ今、こんなにもみすぼらしくなっているのだろうか。あの当時の開発力はどこに行ったのだろう。もちろん、下位互換性がすべてに優先する、あのMicrosoftだから、おいそれと変えられないというのもあっただろうが、それにしても、いまのIEは五年前とあまり変わっていない。何故なんだろう。

webkitでclipboard

WebKit DOM Programming Topics: Using the Pasteboard From JavaScript

ためしに、window.addEventListener( "paste" )してみた所、Ctrl+Vを押した時、event handlerでclipboardの読み込みができた。user scriptからは使い道がない。

なにより独自規格だ。Firefoxにも以下のようなものがあるが、これも独自規格であることに変わりはない。

Using the Clipboard - MDC

ユーザースクリプトやbookmarklet(本当にブラウザのブックマークに登録されているもの)からは、何らかのクリップボードを扱う手段が欲しい。

2009-07-07

webkitはHTML5のdocument.titleを正しくサポートしていない

ものすごく細かいことだけど、実際、間違っているので、書いてみる。

HTML5では、documentにはtitle属性が規定されており、以下のようになっている。

  1. If the root element is an svg element in the "http://www.w3.org/2000/svg" namespace, and the user agent supports SVG, then return the value that would have been returned by the DOM attribute of the same name on the SVGDocument interface. [SVG]

  2. Otherwise, let value be a concatenation of the data of all the child text nodes of the title element, in tree order, or the empty string if the title element is null.

  3. Replace any sequence of two or more consecutive space characters in value with a single U+0020 SPACE character.

  4. Remove any leading or trailing space characters in value.

  5. Return value.

document.title自体は、デファクトスタンダードといってもいいぐらい、主要なブラウザはサポートしている。しかし、この通りに実装しているとは限らない。

ある(X)HTMLに関して考える。ドキュメントには以下のtitle要素があるものとする。

<title>
 foo  bar 
</title>

ここで、HTMLコード中の改行は重要である。なぜなら、これが問題になるからだ。

SVGではないので、1.は当てはまらない。

2.は、すべての子孫のテキストノードを結合するという意味である。というのも、title要素の中には、テキストノード以外のものが含まれる可能性があるからである。上記の場合、ひとつのテキストノードしかないので、文字列は、分かりやすいように、空白文字をunicodeの値で表すと、"[U+0A][U+20]foo[U+20][U+20]bar[U+20][U+0A]" となる。

3.は、二つ以上の連続した空白文字(スペース、改行、タブ等)を、スペース(U+20)一つに置き換えるものである。

4.は、文字列の前後の空白文字をすべて取り除くものである。

5. で返される文字列は、"foo[U+20]bar" となる。

document.titleは、通常のユーザーがブラウザ上で見るのと同じ文字列が得られるはずなのだ。つまり、複数の空白文字が、スペースひとつに置き換えられ、前後の空白文字が除去されるというおなじみの挙動だ。

ところが、webkitはこれを正しく実装していない。webkitでは、子孫のテキストノードの結合は行うが、空白文字は、HTMLコードそのままの状態である。

最初、Chromeで問題を発見したので、chromeにバグリポートを送ろうかと思ったが、その前に調べた所、Safariも同様の挙動をするので、おそらくはwebkitの問題だと思われる。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

<title>
 foo bar 
</title>

<script type="application/javascript" >
<![CDATA[

var listener = 
{
    handleEvent : function ()
    {
        var log = document.getElementById("log") ;

        if ( !document.title )
        {
            log.innerHTML = "not supported at all!" ;
            return ;
        }

        var title = document.title ;

        if ( title.search("\n") !== -1 || title.search(" ") !== -1 )
            log.innerHTML += "replace fail<br />" ;

        if ( title.search(" foo") !== -1 )
            log.innerHTML += "remove fail" ;
    }
} ;

window.addEventListener( "load", listener, false ) ;


]]>
</script>

</head>
<body>

<p id="log">
</p>

</body>
</html>

クレジットカードの番号を勘で当てる

カード番号の規則性悪用「クレジットマスター」 流出防止は困難 - ITmedia News

絶対こういうことはあるだろうと思っていたら、やはりあった。

ちょっと考えてみたところ、こんな結論に達した。いくらクレジットカードのチェック機能を増やしても、結局それは、カード番号の桁を増やすのと、何ら変わりがない。相変わらず、総当たりされれば、偶然一致することがあり得る。してみれば、この手の犯罪による被害は、それほど多くはない。クレジット会社や通販業者は、チェック項目を増やして客に手間をかけさせ、その結果、客を失うよりも、この手の犯罪に保険をかけていた方が、得られる利益としては、マシなんじゃないかと思う。そもそも客がその使ってくれなければ、利益自体が発生しないのだから。

まとめ買いする人々

スーパーに夕食の材料を買いに出かけた。そういえば、最近は野菜といえば、ピーマンともやしとカボチャしか食べていない。何か別のものを食べようと、野菜を物色していた所、万願寺とうがらしが一袋98円で売られていたので、買うことにした。ピーマンとまったく変わらない気がするが、まあ気にしないことにする。

そこで、第一のまとめ買いをする人を見た。あるオッサンが、パックのご飯を、買い物かごに一杯になるほど、まとめ買いしていた。何故か、いちいちパックのご飯を持ち上げて確認していた。不思議なことだ。なぜあんなに大量にパックのご飯を買うのだろうか。オッサンは、やや疲れた老け顔をしていた。独り者なのだろうか。それにしても、米を炊くのは、別にそれほど難しくもない。最近は優れた自動炊飯器のおかげで、手間もかからないはずだ。たくさん食べるから、たくさん買うのだろうか。たくさん食べるなら、やはり自分で炊いた方がいいはずだ。

そもそも、私が思うに、パックのご飯はマズい。これはどのメーカーの製品であろうと変わらない。あれは非常食以外の使い道はないのではないかと思うぐらいまずい。それにしては、マーケティング的に、あまり非常用を全面的に売り出しているパッケージではないと思う。

ちなみに私は、米は鍋で炊くことを人生の信条の一としている。

なおも野菜を物色していると、第二のまとめ買いの人に出会った。たいそう肥満したオバハンが、買い物かごにモナ王というアイスを積み上げていた。買い物かごの容量の三分の一はあろうかという量だ。数にして二十個ぐらいあったのではなかろうか。アイスは、自分で作るのは手間がかかるから、買うのは当然だが、何故一度にあんなに大量に買うのだろうか。自分の靴先が見えるのか疑問なほど肥満している所をみると、やはりこれは、大量に食べるのだろう。オバハンが肥満しているのも当然だ。

iPhoneにおいての電子書籍の購入層はオッサンか?

ニュースリリース - 電子書籍はeBookJapan : iPhone、iPod touch向けの電子書籍サイトが好調

1位ゴルゴ13(1~100巻)
2位美味しんぼ(1~50巻)
3位静かなるドン(1~90巻)
4位じゃりン子チエ(全67巻)
5位ブラック・ジャック(全22巻)
6位からくりサーカス(全43巻)
7位サラリーマン金太郎(全30巻)
8位天は赤い河のほとり(全28巻)
9位サイボーグ009(全28巻)
10位オークション・ハウス(全30巻)

おそらく、主な購入層は中年男性なんだろう。あるいは、最近の漫画はすでに読んでいるから、懐かしの漫画だけ買っているのだろうか。

Windows Internals 5th がでたらしい

Mark's Blog : Windows Internals 5th Edition is Available!
Mark Russinovich and David Solomon: Windows Internals 5 Released | Charles | Channel 9

前回と比べて250ページ増量、トータルで1200ページ超で、25%増し。

Thread Poolsあたりの詳細が気になる。Vistaから追加されたThread poolのAPIは非常に使いやすくて便利だ。

2009-07-06

この半年で、IEのシェア率は10%も落ちた

Asa Dotzler: Firefox and more: historical view of browser usage
Asa Dotzler: Firefox and more: more on internet explorer's falling
Since March, Internet Explorer Lost 11.4 Percent Share To Firefox, Safari, And Chrome

いい兆候だ。DOM Level 2すらまともにサポートしていないIEに価値はない。

ところで、このブログを閲覧する人のうち、約四割は、未だにIEを使っているという事実がある。このブログですら、Firefoxを押しのけて、IEでの閲覧が一番多いのだ。況んや他の大手サイトにおいてをや。

ドンキーコングのイースターエッグ

DONHODGES.COM - DONKEY KONG LAYS AN EASTER EGG

26年見つからなかったらしい。

再現方法は、Atari版のドンキーコングで、33000点から33900点の範囲の新しい、ハイスコアで、残機が無くなるまで自殺する。ただし、最後の一機は、落下して死ななければならない。その後、オプションボタンを押してゲームの難易度を4にする。数分すると、開発者のイニシャルである、LMD、が現れる。

newではなくthisの問題だと思う

JavaScriptのnewって本当にいらない子? - あと味

これはnewに問題があるのではなく、thisに問題があるのだと思う。

javascriptにおける、thisは、人間の感覚としてはややこしい。実行のコンテキストで指し示すものが変わるという性格を有している。グローバルコードでは、グローバルオブジェクトを指す。evalコードでは、evalを呼んだ側のthisになる。関数では、関数を呼んだ側が提供するとある。

言語としては、むしろ単純明快だと思う。

2009-07-05

HTML5で動画と音声のコーデックを規定しないのが適切な理由

なぜ、画像のようにはいかないのか。それは、アホみたいに大量のコーデックが存在するからだ。ブラウザはてんでばらばらにサポートするだろうし、仮に規格で、何らかのコーデックを最低限サポートすべしと規定したとしても、ブラウザベンダーに無視されてしまっては意味がない。XHTML2のように。

なぜ画像の圧縮形式の数は少ないのか。それは、別に誰も困っていないということだ。可逆圧縮ならばpngでいいし、非可逆圧縮ならば、jpegでいい。jpegより圧縮率が高くて、しかも画質もよいと宣伝する圧縮形式は、多数存在する。たとえばjpeg2000だ。デコードが重いことを無視すれば、あらゆるソースで、人間の目には画質がよく見え、なおかつファイルサイズもかなり小さくできる。でも、意味がない。

ひとつあたりのHDDの容量がテラバイト単位になり、ユーザがMbps単位のブロードバンドな回線を持つようになった現代においては、1MBのjpegを、同じ画質で500KBないしは250KBのjpeg2000に圧縮できても、さほどありがたみはないのである。

ところが、動画となると、まだファイルサイズが大きい。だからいろんなコーデックが開発されている。音声も同様だ。さらに、この動画と音声をまとめるコンテナのフォーマットも、多数存在する。

最低限サポートする動画、音声、コンテナを規定しようなんて無理な話だ。単にフリー、非フリーの問題ではないのである。

2009-07-04

予備自補の辞令式

予備自衛官補の辞令式があったので、行ってきた。例年は本部のある京都で行うらしいが、今年は、実際の訓練場所である、大津の駐屯地で行うことになった。辞令式の後、駐屯地内を見学できるらしい。さらに、昼飯も食べられるという。これは面白そうだと、その時は思った。

さて、大津まではマイクロバスでの送迎があるのだが、そこで、意外なことを知らされた。というのも、どうも今日の大津駐屯地は断水であり、通常の昼食が用意できないそうだ。やれやれ、それは残念だ。

さて、辞令式が終わり、駐屯地内の宿舎や風呂場などを見学した。売店には、実に様々なものが売られていた。アーミーナイフが売られているのは理解できる。ただ解せないのは、携帯コンロが売られていたことだ。需要があるからこそ売っているのだろうか。店員に聞くと、実際に需要があり、しかもよく売れているそうだ。

さて、実際の昼食は弁当だったものの、今月一ヶ月の献立を見ることができた。みると、毎日違うメニューになっている。同じ料理は、少なくともこの一ヶ月間には見あたらなかった。聞く所によると、一ヶ月の間に献立が被ることは、まず無いらしい。食堂は、大津の駐屯地内に住んでいる自衛官の人数を考慮に入れれば、少し狭かった。これでは全員食堂に入らないのではないかと訊ねてみたところ、実際そうで、時には外に並ぶこともあるらしい。ただ、教育期間中は特に忙しいので、ゆっくり飯を食べている時間もなく、それほど待つこともないのだとか。

その後は服装のサイズを確認した。私は、靴の履き方が分からなかった。どうか私を世間知らずの低能だとは思わないでもらいたい。というのも、靴といっても、半長靴、つまりブーツなのである。あの独特のひもの締め方は、見ただけでは分からない。

最後に、手帳と徽章を受け取った。

ところで、交通費申請の書類を書いたのだが、私に支給される交通費は、499円であった。確かに、私の家から駐屯地まで、公共交通機関を使って行くにあたり、499円あれば足りるとは思うが、なぜこんな半端な金額なのだろうか。何でも、電車やバスの運賃だけではなく、歩く距離も考慮に入れて算出された額とのことだった。それにしてもえらい半端な。

manlyとdandyは意味が違う

私はこれまで、manlyとdandyは、同じ意味だと思っていた。ところが、この二語は、全く別の意味らしい。

manlyとは、素手で熊と戦う漢に対して使う。

dandyとは、上流階級風な紳士に対して使う。

東芝クレーマー事件のAkkyが窃盗で捕まったらしい

「東芝クレーマー事件」の会社員、PC窃盗で逮捕 - ITmedia News

結局、本物のクレーマーだったのかね、この人。真実がどうあれ、この人物が日本のネット文化に与えた影響は大きいし、また東芝の恫喝まがいの対応が、あまり褒められたものではなかったことには変わりがない。世の中は真実で動いているわけではない。事実で動くのである。

日本のインターネット史を語るには、あの事件を無視するわけにはいかない。というのも、これまで新聞やテレビなどの大手メディアで取り上げられない事実は、口コミやデモで主張するしかなかったのだ。それが、インターネットで全世界に主張できるということを実際に示した、日本で最初の事例として、実に興味深いものだったのだ。

新しい意見の主張方法に対して、東芝は実に愚かだった。問答無用で批判の対象となる、恫喝まがいの対応を録音させてしまったあげく、司法的な手段を用いてWebサイトを閉鎖させようとしたのだ。たとえば、デモの権利は保障されているわけだ。Webサイトとデモでは、ただ手段が違うだけで、自分の意見を主張するという目的は同じなわけだ。それを司法的手段を用いてやめさせようとするのは、言論封殺と取られても仕方がなかっただろう。

ところで、いまだに街頭を練り歩くデモをやっている人間を見ると、私には疑問がわいてくる。一体彼らはタイムマシンで60年代からやってきたのだろうか。そんなことして街頭を練り歩いたとしても、一体何人の人が見るというのか。そんな時間があるなら、ネット上にWebサイトのひとつも作ればいいのに、と。

Firefox 3.5で実装された、ちょっと嬉しい機能

about:config に、browser.tabs.closeWindowWithLastTab という項目が追加されている。デフォルト値はtrue.これをfalseにすると。Ctrl+Wですべてのタブを閉じてしまっても、空のタブを表示するだけで、Firefox自体は終了しなくなる。これは私にとっては嬉しい機能だ。Operaはデフォルトでこの挙動をする。Chromeにも、この機能が欲しい。

javascriptからClipboardを制御したい

Javascriptから、何とかして、自由にClipboardの読み書きがしたい。もちろん、それがセキュリティ上問題のあることは分かっている。私は別に、Webサイト上の任意のスクリプトからのクリップボードへのアクセスを許可しようではないかと提案しているのではない。私は、自分の書いたuser scriptやbookmarkletから、クリップボードを使いたいのだ。

user scriptやbookmarkletのコードは、大抵自分で書いたものか、あるいは、確実に信頼できると判断したものである。何故ならば、これらのコードが実行された場合、いつでも自由に、iframeを使って別のページを読み込めるのである。その際、URL中に、現在閲覧しているサイトなどの情報を含めることができるので、user scriptやbookmarkletのコードは、確実に信頼できると判断したものでなければ使ってはいけない。とすれば、何もuser scriptやbookmarlketからクリップボードに読み書きできたぐらいで、セキュリティ上の危険が増すとも思えない。

こういう考えを起こしたのには理由がある。

このブログの記事は、すべてHTMLを手打ちしている。といっても、主にパラグラフごとにp要素で囲むぐらいだから、それほどの手間ではない。ところが、別のページへのリンクを張りたい時というのがよくある。別に、a要素を手で書くのは、それほど難しくはない。ただし、面倒である。というのもページへのURLだけでなく、実際に表示する文字も、指定しなければならないからだ。私はほとんどの場合、そのページのタイトルを使う。(たまに、奇を衒う目的で、別の言葉を使うこともある。例えば、すばらしい百科辞典など) 多くのブラウザは、ページのタイトルをクリップボードにコピーする機能を提供していないので、わざわざソースを見て、title要素からコピペしなければならない。今までそうしてきたが、ふと思った。」何故こんな機械でもできることを人間である私がやらなければならないのか」と。

そこで、そのサイトへのリンクを貼るa要素を生成するbookmarkletを書いた。

javascript:(function()
{
    return ( "&lt;a href='" + document.URL + "'&gt;" + (document.title ? document.title : document.URL) + "&lt;/a&gt;" ) ;
})() ;

たとえば、このブログに対して、上記のbookmarkletを適用した場合、<a href='http://cpplover.blogspot.com/'> 本の虫 </a>が出力される。現在見ているページが切り替わってしまうのは異論があるだろうが、私はminimalistなので、これで十分なのだ。たぶん、ページを書き換えずにやりたければ、divをfloatさせてz-indexの一番上に表示させるとかだろうか。

ああ、クリップボードを読み書きする機能が欲しい。方法はあるものの、ブラウザによっては、セキュリティ上の観点から、コピーする文字は選択されていなければならなかったり、ユーザーの入力の際のみに操作を行えるなどの、厳しい制約がある。Flashを使う反則なjavascriptのライブラリも見つけたが、これもやはり、マウスクリックという、ユーザーの入力に応じてしか使えないのだ。それなら、別に文字列を直接出力したって変わらない。上記のbookmarkletでも、Ctrl+A、Ctrl+Cでコピーできるのだから。

というわけで、ユーザースクリプトには、クリップボードを読み書きする機能を提供しても、セキュリティ上の懸念は低く、利益も大きいのではないかと思う次第である。

IEのようなのもどうかと思うが。

2009-07-03

ゲームコンソールも、もはや汎用的なコンピユータなのかな

私は、読む価値のある記事がひとつでもあるサイトは、とりあえずGoogle Readerに放り込んでおくようにしている。常に自分にとって読む価値のある記事だけを書いてくれるサイトというのも、なかなかないので、大抵は、タイトルをちらっと眺めただけで、全部まとめてMark all as readしてしまう。

購読しているニュースサイトには、エミュレーター全般に関するニュースのみを発信しているものがある。エミュレーターと一口に言っても様々あり、たとえばPC/AT互換機そのもののエミュレーターであるとか、DOSやWindowsなど、実行環境とOSをセットで実装しているエミュレーター、あるAPIを他の環境で使えるように実装しているものもエミュレーターと認識しているらしく、そのニュースサイトでは取り扱っている。例えば、CygwinやWineなどだ。Windowsという車輪そのものを再発明するReactOSなんてものもある。

変わり種としては、ある有名な関数電卓のエミュレーターというものがある。また更に変わったものとしては、あるゲームプログラムのエミュレーターというものもある。これは例えば、Windows 9x向けに作られたゲームは、今のハードウェアやOSなどの実行環境に合わなくなってきているので、現代の実行環境に合わせて再実装するというものだ。無論、合法的である。配布しているのはプログラムだけで、画像音声スクリプトなどのリソースは、オリジナルのゲームから用意する必要がある。

もちろん、エミュレーターといえば、ゲームコンソールを無視することはできない。ファミコンやスーファミのゲームは、今でも楽しめる名作が多い。一時期、エミュレーターは違法かどうかが争われたことがあるが、最近、エミュレーター自体を開発するのは合法であるという判例が多いので、ゲームコンソールの会社も、エミュレーターの開発だけをもって訴えることは、最近はあまりしていないようだ。

前置きが長くなったが、これはエミュレーターには、いろんな種類があるということを説明したかったがためである。

ここ最近、といっても、半年や一年という長い目で見た感想だが、少し増えている種類のエミュレーターがある。それは、ゲームコンソール上で動くエミュレーターである。

これまで、ソフトウェアで実装されたエミュレーターといえば、大抵は、パソコン上で動くものが多かった。具体的には、WindowsやMacやLinuxなどのOS上で動くものとして作られることが多かったのだ。ところが最近、ゲームコンソール上で動くエミュレーターが増えている。

たとえば、PSP上でファミコンエミュレーターだとか、PS3やXBox360、果ては、もともと公式にエミュレーターがある、Wii上で動くエミュレーターなんてものもある。

エミュレートする環境も様々で、多くは他のゲームコンソールだが、DOSなどもある(最も、主目的はDOS上で動くゲームのためだろうが)

思えば、ゲームコンソールも進化したものだ。しかし一つ疑問なのは、これらのゲームコンソールは、開発環境が一般に公開されているとは言い難いということである。これらのエミュレーターを動作させるためには、ファームウェアを書き換えたり、ハードウェアに直接手を入れる必要がある。

これらの面倒で法的にもグレーな手順(注1)を踏む必要があってなお、これらのゲームコンソール上で動くエミュレーターが盛んに開発されている所をみると、需要はあるのだと思う。つまり、ゲームコンソールで自作のプログラムを動かす需要だ。ゲームコンソールを開発している各社は、なんで広く一般に開発環境を売って、自作プログラムの実行も許可する方向に行かないのかと、不思議に思う。

もちろん、現行のゲームは、ハードではなく、ソフトで儲けるという仕組みがあることにもよるだろう。とはいっても、需要はあるのだから、プログラミング可能にしたら、もっと売れるだろうし、利益を出す方法もあるだろうと思うのに、不思議だ。

と、現行のゲームコンソールを全く持っていない私からみての疑問をつぶやいてみた次第である。基本的に私は、自由にプログラミングできないコンピューターには価値がないと思っている人間なので、現行の携帯電話やゲームコンソールには、あまり関心がないのだ。それに、現行の携帯電話やゲームコンソールは、PCと比べて、明らかに非力である。もちろん、それなりのスペックのPCを一台組もうと思ったら、それなりのカネが必要だから、ゲームコンソールと比べて、値段が高いことは確かだ。それにしても、やはり明らかにスペックが違う。

注1:何故、自分の持っているハードウェアを改造するのが違法なのかという意見もあるだろうが、たとえば任天堂がマジコンを法規制させるのに成功した例もあり、少なくともこの日本においては、完全に合法とは言えないのである。

2009-07-02

幼學綱要はロクなもんじゃない

ひょんなことから、幼學綱要の複製を手に入れた。今読んでいるが、ロクなもんじゃない。明治もたいしたことなかった。

例えば、「京師ノ僧某~」から始まる有名な話がある。この坊さんの母が、たいそうな生魚好きで、それ以外は食欲がわかないという人だった。それゆえ、この坊さんは、毎日、魚を買い求めて、母に食べさせていた。ところがあるとき、「白河上皇屠殺ヲ厳禁ス」ということが起こった。ために魚が手に入らない。魚が食べられないので、母は食欲がなくなり、日に日に弱っていく。坊さんは仕方なく、法を犯して、桂川で魚を捕る。帰る途中に、巡吏の捕縛する所となった。その母を思うために法を犯したということに、皆感激し、ついに白河院も「金帛ヲ賜テ放還ス」ということになった。

これなども、白河院がカルトめいた非論理的且つ非科学的な院宣を出さなければ、僧は毎日、母に魚を食べさせることができたであろうし、その場合、母も栄養失調にはならなかったのである。よって、現代人が普通に考えれば、この話では、坊さんは当然のことをしたまでであり、白河院は思いつきと宗教的盲信により馬鹿げた院宣を下したアホンダラということになるのである。明治の世相と当時の学者の頭ではそうはならない。現代から見ると、じつに馬鹿げたことである。

だいたい、白河院、あのバイセクシャルのジジイは、息子の嫁にまで手を出したことで有名であり、その結果が叔父子と名高い崇徳天皇だというのは、よく知られた話である。清盛だって、白河院が三十三間堂の辺りに住んでいた賤女とファックした結果だという話である。又当然の如く、院政を敷いて権力を手放さなかったので、当時の政は混乱していた。とすれば、そもそも平安時代の終焉、武家社会の勃興を招いた張本人と言ってもいいだろう。

げんなりして次のページを見ると、「平重盛。人ト為リ忠勤溫厚ニシテ。武勇人ニ軼グ」とあって、さらにげんなり。オマエ、重盛といえば殿下の乗合起こした張本人だろうが。忠勤溫厚というのも、どうせ天皇側に与したための評価に過ぎない。武勇人に過ぐというが、平治物語の記述を見る限り、単に蛮勇を衒うアホ勇者でしかない。灯籠でも灯してろマヌケめ。

すぐに気がついたのだが、この幼學綱要の文章は、ほとんどが大日本史を訓読して引用したすぎないのである。冒頭には、「時ノ侍講元田永孚先生ノ編纂セラレタルモノニシテ」とあるが、こんな綱要を現代において提出したならば、コピペ論文の照合を恣にするだけである。したがって、元田永孚とはコピペ先生と呼び捨てて差し支えなかろうと思う。まあ、朱子学者なのだから、何をか期待せんやといったところだ。

大日本史が何故もてはやされたかというと、やはり天皇を正統だとしたから、明治の時代に都合が良かつたのだろう。あの極悪非道でゲイで虚栄心の高い光圀が善人面してテレビで放映されているのも、実はこういうところに端を発しているのである。

ただし、読み物としては、現代の学校教科書より上である。何故ならば、比較にならないほど大量の、本物の文章を引用しているからだ。大日本史は、史書としては下の下だが、読み物としてはなかなか評価できるのである。カネが手には入つたら、大日本史でも買おうかしらん。

今後、石川県民からは、まともな携帯電話のプログラマは生まれないだろう

聞説、石川県では、小中学生に携帯電話の所有を禁ずる条例が可決されたそうだ。携帯電話の所有が禁じられているぐらいだから、それを使ってのプログラミングなどもってのほかである。すると今後、石川県民は、中学校を卒業するまで、携帯電話でのプログラミングをすることが違法ということになる。つまり、現在の石川県民の小中学生が成人する十年後には、石川県民だというだけで、携帯電話関連のプログラマとして経験が浅いというレッテルを貼られることになるだろう。

もし将来、優秀な携帯電話業界のプログラマ、技術者、Webサービス提供者になりたいのだとしたら、一刻も早く石川県から亡命することをおすすめする。

個人情報保護法があほらしいことになっている件について

「情報」は「財物」に当たらず 「情報窃盗罪」なく個人情報流出の一因に - ITmedia News

ええ、何のための個人情報保護法を作ったのだろう。まさにこのような事例を違法とするためではなかったのか。

思い出すのは、ある会社の面接に行った時、履歴書を渡すのに際して、個人情報保護法のため、この書類にハンコをつく必要があると言われたことだ。読んでみると、当社は個人情報を外の目的に使用しないの、外部委託はしないのと、その手のことが書かれていた。書類に書かれていることは正しかったのだが、解せないのは、私のハンコが必要だと言うことだ。これは、「お前」が「私」に対して保証することである。なぜお前の遵法に対して私の了承が必要なのだ。法は契約書類を超越するので、仮にこの契約書類に、法に反することが書いてあって、私がハンコをついたとしても、それは無効である。してみれば、法に違反しないことは、そもそもハンコなど必要ないだろう。この書類の文面を読むに、この書類を用意すべきなのは、むしろ私で、ハンコをつくべきなのは「お前」じゃないのか。何で「お前」が法を遵守するということに対して、「私」がハンコをつかなければならないのだ。

ちなみに、その会社は、個人情報保護法に関しては関心が高かったものの(ただし解釈がめちゃくちゃだったが)、健康増進法に関しては一切の知識がなく、私とタバコの是非に関する喧喧諤諤の論争をするハメになった。だいたい、健康増進法を遵守する会社の採用担当が、胸ポケットにタバコをいれて面接に出てくるとは信じられない。無論、私はその面接に落ちたが、後悔はしていない。タバコの煙を吸うのは、私の仕事のうちではない。

結局、個人情報保護法は何だったのだろう。無駄な書類や本人確認の手間を増やした割に、実際に個人情報を悪用された場合を取り締まれないとは、なんと無駄な法か。

ダガーナイフ規制があほらしいことになっている件について

どうやら、両刃を全面的に禁止しているため、ナイフを使う業界を混乱に陥れているらしい。聞いた話では、ダイバーナイフや料理用のナイフまで規制の対象になっているとか。ニュースでは、料理店にまで確認を求めているとか。

US of AのBill of Rights、Second Amendmentはやり過ぎだと思うが、適切な使用目的のナイフを規制するのは何かおかしい。刃物なしでどうやって料理しろというのか。

2009-07-01

今日、面白かった英文

この英文が面白かった。

James while John had had had had had had had had had had had a better effect on the teacher
I said that that that that that man wrote should have been underlined
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo

日本語にも、似たようなものとして、「すもももももももものうち」とか、「にわにはにわにわとりがいる」とか、「ネネネネネネネネネネネネ」などがある。

日記

2009年7月1日水曜日、やや雲が多いものの晴れ。

体調が、戻った。念のため、今日はジョギングを休んで様子を見るつもりだ。

下痢気味で腹の痛かった昨日は、とりあえず消化に良さそうなものを買ってきた。バナナといえば、風邪を引いた時に食べるものである。親の言によれば、当時、バナナは高かったらしい。それで、風邪を引いた時ぐらいしか食べられなかったのだとか。

嬉しいことに、物流の発達した今日では、バナナは一本、数十円ぐらいである。バナナは柔らかくて飲み込みやすく、実際、悪い食材ではないと思う。今調べた所では、加熱して食べる種類のバナナもあり、所によっては、バナナが主食の国もあるらしい。これは一見奇異に感じられるかも知れないが、日本でも、ジャガイモは主食というよりは、副食として認識されている事を考えれば、別に不思議はないのかも知れない。

外には、鶏の肝のしぐれ煮が売っていたので、食べてみることにした。焼き鳥を別にすれば、レバーを食べるのは、久しぶりだと思う。やはり、レバー独特の味がした。小ない頃は苦手だった味だ。今はそれほどでもないが、極端にうまいとも思わない。

1973年のパチンコ台

まだ村上春樹が、今のように腐っておらず、cutting-edgeな小説を書いていた初期の作品に、「1973年のピンボール」という本がある。そこでは、3フリッパーの「スペースシップ」というピンボール台が出てくる。主人公は、昔遊んだこのピンボール台を探し、ついに、個人的なコレクション倉庫の中で見つける。

今の村上春樹は、どうしようもない枯れた才能の残りカスみたいな小説しか書かないが、当時は確かにいい文章を書いていたのだ。思うに、今の村上春樹は、マーケティングで成功したのではないかと思う。作家ムラカモの名は、外国でも有名で、皆、翻訳されたマラカモの小説を読んでいる。外国の作家賞を頻繁に取っているのも、マーケティングの一種ではないかと思う。だいたい、元はといえば日本語で書かれた小説なのに、日本語もろくに読めないような奴らに賞されて、何が嬉しいのか知らん。もっとも、村上春樹は、アメリカのある新聞か雑誌のインタビューで、処女作である「風の歌を聴け」は、当時経営していたジャズバーの片隅で、まず英語で書いていたと答えている。何でも、日本語だと、多くの表現を知りすぎているため、自分を制限する必要があったのだとか。

話が、それた。タイトル通り、パチンコの話をする。私がパチンコを嫌っていることは、今さら言うまでもない。世からパチンコ屋が、パチンカスもろとも消滅してくれたらどんなに嬉しいだろうと思う。私は日々、パチンコの消滅をFlying Spaghetti Monster様に祈っているのだ。というのも、私の信奉する神は、FSMのみである。あの完璧に茹で上がったパスタと(預言者ボビー・ヘンダーソンによれば、FSM様のパスタはアルデンテではないらしい)、ジューシーなミートボールを形取られたFSM様は、未だ憐憫の聖なる触手を垂れてくださらぬようだ。

話が、またそれた。どうやら私は、つくづくパチンコが嫌いなようだ。パチンコのことなど考えたくもない余りに、無意識のうちに、話を枝葉にそらす癖があるらしい。私の言わんと欲する所は、このリンク先のページのことだ。

@nifty:デイリーポータルZ:パチンコ台を思い通りにしたい!

なるほど、クギ師というのは、丁寧にコンコンとクギを叩く仕事ではないらしい。ガンガン打ち付ける仕事らしい。確かに、軽く叩く程度でクギが動いてしまうのならば、タマが当たっただけで動いてしまうはずである。