トップ 最新 追記

日々の破片

著作一覧

2005-12-01

_ RHG読書会

実はここがBinary2.0だよね? という話。

_ 都合の悪いところを読むことを、ご都合主義と呼ぶのだなまる

RSSを教えないというのは、単に言及するとか啓蒙するとかの意味じゃなくて、おいらのところはRSSっていう便利なものを吐いているからこれこれこうやって使ってくれくれ、というチュートリアルを示したらどうなんだということだという意味だってのは、「せめて」の部分を読めばわかる仕組みだと思うんだが、最後まで読まずにからんでいるのかな、単にむしゃくしゃしてからんでいるのかなんだろうか。マスを持ってんだからそうしろっていう話だと思うし、それはわからんでもない。っていうか、そういうマスとマスを持つ人の話をしてるところに、RSSサービスに登録すればRSSが吐かれるという見当違いなソリューションをプロバイドするコンサルタントってのは、まさしくコンサルタントな業務遂行者であるよな。

「犬は歩くな。(というのは理不尽な言いぐさだ。)せめて棒を持った人を見たらとりあえず避けて通っとけ」と書いたら、「おいぬさまに歩くなとはなにごとだ。おいぬさまに謝れ」と言われるようなもんだ(構造は)。しかもグーグル様のご神託をもらってきて「犬も歩けば棒にあたる」ではないか、とえばってみせたりしてみたり。

というか、オレの名誉のために謝れってのは良くわかるが、オレではない誰かのために謝れっていう考え方は変だと思う。でも、鐘がだれのために鳴るのかはヘミングウェイですら知らないし、冥福を祈りましょうとオレではない誰かのために祈れっていうのは良く見かけることではある。

という感想。

_ 口直し

研究しないで方法論ばかりだとジャックは馬鹿になる/職業としての学問

デベロッパーとソリューションプロバイダーの関係みたいだな、とか思いながら読んでしまったが、なんだかすごく得をした気分になった。

_ Windows-31JかShift_JISか、それが問題だ

/**
 * MS漢字コード判定。
 */
public abstract class SjisDetect {
    static final char WAVEDASH_MS932 = '\uff5e';
    static final char WAVEDASH_SJIS = '\u301c';
    static byte[] WDASH = new byte[] { (byte)0x81, (byte)0x60, };
 
    public static final int MS932 = 1;
    public static final int SJIS = 2;
    public static final int UNKNOWN = 0;
    /**
     * 現在の実行環境がMS932(Windows-31J)かSJIS(Shift_JIS)かを判定する。
     * @return {@link #MS932}か{@link #SJIS}を返す。判定できない場合は{@link #UNKNOWN}を返す。
     */
    public static int detect() {
        String s = new String(WDASH);
        switch (s.charAt(0)) {
        case WAVEDASH_MS932:
            return MS932;
        case WAVEDASH_SJIS:
            return SJIS;
        }
        return UNKNOWN;
    }
    public static void main(String[] args) {
        String caption = "エンコーディングは";
        String encoding = "unknwon";
        switch (detect()) {
        case MS932:
            encoding = "MS932";
            break;
        case SJIS:
            encoding = "SJIS";
            break;
        default:
            caption = "encoding is ";
            break;
        }
        System.out.println(caption + encoding);
    }
}

_ komodo

おおとかげ?

2006年にはSolaris版というのはなんかすごいな。RoRってそれにしてもlolと日本人には同じ発音になるような。strawbellyっておいしいですか? −−はぁ?


2005-12-02

_ 企業用ファイアウォール

googlesyndication.comへのリンクがどんどんエラーになるのだが、おそらく短いピリオドの間に特定のURLへリクエストが集中すると殺す仕組みがあるらしい。もちろん透過プロクシだ。

企業用ファイアウォールとしてHTTPプロクシが持つべき機能を管理者目線で考えてみる。

・不要トラフィックの除去

-外部ホストに対するIMGタグはすべて殺す(altがあればそれだけ表示する。アンカーを殺すかどうかは微妙かも)。さすがにページと同一ドメインの場合、テキストを補うグラフや図表がありえるからIMGタグ全殺しは無謀だろう(だから、静的コンテンツを別ホストにしていると全滅したり)

-別ファイルとなっているcssへのlinkrelも殺したり

-拡張子ico,avi,mov,swf,pdf(!)のgetは無条件に叩き落とす

-レスポンスのmimeタイプがtext/*でなければ即時シャットダウン

・危険防止

極端なことを言えば、すべてのobjectタグとscriptタグを殺す。imgタグ殺しは上でもしている。

レスポンスのmimeタイプによるシャットダウンに加えてIE対策として先頭データがelfPEならシャットダウンとかいろいろ

クッキーのMaxAgeはすべて負値に変換。

・謎通信の禁止

-hrefのhttpsはhttpに変換。あるいはアプリケーション的な中継方法を取るとか

-inputのtype=passwordを持つフォーム送信はすべて叩き落とす

・ハラスメントの元を絶つ

-あらゆるNGワードを?に置換する(ページブロックだともしかしたら重要な情報を落とすかも知れないのでこのあたりが落としどころ。セキュメモにamlネタがある場合とか。戦争ワードがNGってのでブロックされたことがある)

プロクシっていろいろできるもんだ。

_ GCと参照カウンタ

参照カウンタ式自己削除はGCとは呼ばないと仮定して(というのは知らないからだけど)、何が違い、何が問題か?

違いは、特権者の不在だ。参照カウンタ方式は自分がカウンタを繰り上げて、自分がカウンタを繰り下げる。

class IUnknown {
    int count;
    public int addRef() {
        count++;
    }
    public int release() {
        int c = --count;  // なぜこれが重要かわかる?
        if (!c) delete this;
        return c;
   }
   ...
}

でもGCの場合は、ガベッジコレクターという特権者が集めて回る。

それで、どういう差がでるか?

その差がおそらく、IEのメモリーリーク問題にからんでいるのではないかなと直観的に思った。で、そうならば、これは解決しないだろう。

でもそれだけ。


2005-12-03

_ Binary2.0

あーおもしろかった。

特に中村さんのg++と例外キャッチボール。dwarf2.0と言う言葉がこれほどまでに熱く語られることがかってあっただろうか? 実はdwarf2.0というのはプログラミング言語だとか。そうだったのか。(追記:わかる人にはわかる切実な話をするとそれが切実であればあるほど世間一般とはかけ離れてしまうため、その過剰さが滑稽を生み笑いを誘うーデマングリングを読めるようになるとかgccで一番使うオプションは-Sだとかーでも僕は-Sの意味がわかんなくて笹田さんに後でそっと訊いたのであったーということをすべて承知の上で笑いを取りに行くというのが最高だった)

ハードコアバイナリアンもなかなかのおもしろさ。これはちょっといろいろ想像力が刺激されて、実に楽しかった。ちなみに世界初のgdbプレゼン。

LLDNのとき、mswin32版rubyに首つり岩の庭をインテグレートするとか言ってまったく忘れてたのを思い出したが、やるなら2.0の潮流に乗せてウィンドウをポップアップして追えるようにすべきだろうとか思ったり(思うばかりかおれかねごん)。っていうか、ASR1.8.3.xは欠番のまま1.8.4になることがほぼ決定。

たまたま先日、昔昔のマシンでコーディングモディファイをやっていてどうしたというようなこと言ってたら、ちょうど首藤さんの実行時自己書き換えの話があって妙なデジャビュだったりとか。

#manしたら邪悪と出てきたという話が面白かったがディテールを思い出せない。(追記:確かにptrace(unique and arcane)のことでした。どうもありがとうございます)

追記:ptraceは、外部プロセスからのコード注入の話だから鵜飼さんのlivepatch。ライトニングトークの時間配分をスライドに人間側がシンクするという面白いプレゼンだった。

gdbプレゼンは、僕が理解した範囲ではデバイス(1ボードPCと呼ぶのかロジックボードと呼ぶのか僕にはわからない)にプログラムをロードきるので、ホストコンピュータからgifをelfに変換して送り込んでデバイス側でgifとしてvramに展開するという手法(法か?)だと思った。ページをめくるかわりにgdbのコマンドを叩くのがおもしろいということよりも、そのデバイスを通して出力するという事が既にハック。

#思い出したけど、プロジェクターの位置ずれをウィンドウの最大化を解除して左端を右にずらすという技(でもそのせいで時間切れになったのが悔やまれるけど、)で解消したBEROさんとか。

#実行イメージにパッチを当てるためにbviにロードすると、まずtruncateが走るためにクラッシュするというネタで笑いを取っていたのが後藤さん。しかし、肝心のどうやって書き込み可能にするかの部分を忘れてしまったのが悔やまれる。しかしプロセスのコード共有方法がメモリーマップドファイル(そのものかどうかはわからないけど)だというのはまったく知らなかった。

_ SVG on Macメモ

やましたさんの「WebKit+SVGというものがあるらしい」をクリップ。

_ Java2.0カンファレンス

首藤さんの基調講演―もっとはやくなまなましく

Javassistがあなたをアシスト(千葉せんせい)

FindBugsのデテクタ作成技法(宇野るいもさん

アノテーションでXMLに別れを告げるために(ひがさん)(S2の内部処理の話だというところがミソ)

中の小人さんから一言――LL on JVM(水島さん)

NetBeansウィザードプログラミング(岸田さん)(ウィザードを作るのは2.0系だ)

対決:AntハックvsMavenハック(街を歩いている素人をつかまえてきて、どっちが先にビルド、デプロイさせるかを競う!)

スポンサーセッション:Jude−DSL(永和システムマネジメント)

スポンサーセッション:動的フレームワークがケータイJavaを救うのだ(アプリックス)

スポンサーセッション:遅いなら、作ってしまえ、CPU(アジュール)

BOF もっとてかりを! (えいたろうさん)

とか、どっかやらないかな。100人集まるだろうか?

(JVM2.0じゃなくて、Java2.0じゃなきゃつまらん。今や企業システムの標準開発プラットフォームの座を占めるまでになったJava。しかし日夜(それも多分深夜とか)量産されるプログラムがそれでもとりあえずは動くのは、その下にJava2.0がいるからなのだ!という感じだな)

#しかし、ぜーったいにBinary2.0みたいなノリにならなそうなところが興味深い。

本日のツッコミ(全10件) [ツッコミを入れる]

Before...

_ なかだ [してみると、展開したファイル名が文字化けしまくりなのはcygwinのunzipのバグか。 < HRG]

_ arton [え、そういうレベルのエンコーディングのことなの? 今、ベクターから落としてWinZip32で展開したけど問題なかった..]

_ arton [っていうか、あらためて読んでみたら言いたい放題書いてますな>はじめに.txt]


2005-12-04

_ Rubyから何を学べるか?

機械猫さんがRubyから学んだことというエントリーを書かれている。それは

オブジェクト指向の視点の変化

本質に集中する

の2点だそうだ。

このうち2番目の点については僕はそれほど同意できないのだけれど(感覚的な問題だと思うから、理由は別にない。ただDRYにどれだけ共感できるか、あるいはコミットできるかという点がそう感じる分かれ目なのかな、というようには思う。早い話、僕は必ずしもDRYではない。そのあたりが理由なのかも知れないが、僕はJavaで前準備みたいなことを記述していてもそれを本質的ではないと感じないからだ)、1番目の点についてはそう思う理由は異なるのに、同じように感じているので興味を惹かれた。

つまり、この結論の部分だ。

例えば、あるプログラムに対して機能追加をしようとする際にはJavaならば

「このデータをどう処理するクラスを定義すればよいか?」

と考えていました。

しかしRubyの場合は

「このオブジェクトにどのようなメッセージを送ればよいのか?」

という風に考えることが多くなりました。

この違いは微妙に感じるかもしれませんが、僕にとってはとても大きな違いに感じます。

つまりJavaで書いているときには

「クラス=データ+処理」

と考えていましたが、Rubyだとデータと処理が一体となっているという感覚がとても強いため

「興味のあるデータを表している(not 持っている)オブジェクトにどのようなメッセージ(処理の依頼)を送るか」

と考えるようになったのです。

ただ、その後のなぜそう思うのかの考察が違うのがおもしろい。

たとえば、thisとselfという例が挙げられているが、meと(selfはまだ第3者目線だがmeはおふらんすざんす。と突然おそ松くんとかになってしまうのだが、読んでる人はおそ松くんなんて知らないだろうな、とかわかっていても無関係に無駄口が出て来てしかもこんなメタデータ付きで消しもせずに書いてしまうのが日記らしくておもしろい)書くVBだってクラスを意識する(でも、逆にJavaだろうがC++だろうがメッセージだと感じるから、実際には微妙には異なる)。

境界をどれだけ意識するか、というと一番しっくりくるかも知れない。もちろん、Rubyで書く場合であってもカプセル化は強く意識するわけだから境界というのはクラスバウンダリという用語化可能なものとは違う。どちらかというと境界がクラスではなくオブジェクトにあるように感じるというと一番僕の感じ方を正確に表しているかも知れない。

言語機構としてmixi-inでインスタンス変数を触るコードまで後から外部から混ぜ込めるとか、instance_evalで個々のインスタンスを別方向に成長させることができるからとか、も理由のひとつではあるだろうが、もっと最初の部分から異なるように思える。当然、静的/動的より前の話だ。

非生物と生物とか言い出すとインチキくさくなるが、それに近い(上で理由のひとつとして挙げたインスタンス生成後にさらに成長可能かどうかから逆に言葉を持ってきている感が拭えない)。

Java(C++、C#、VBなんでも良い)の場合、プログラミングは戦略的だ。わりと僕は静的なモデルを意識するし、外部インターフェイスは最初に決めていく(UML上ではなくインターフェイス定義ーCならヘッダファイルだし、Javaならinterface、VBならIDL)。それに比べるとRubyの場合、ある程度の規模であってもはるかに行き当たりばったりに書くことが多い。そのほうが書きやすいからだ。そうやって書いている間に命を吹き込まれて勝手に動き出すというオカルティックなプログラミングだけど、この比較は他のジャンルでもあり得るからそれほどおかしくはない。つまり、論述と叙述(論述と無理矢理対語的に持ってきたので、本来の意味とは異なり、ここでは小説、散文、叙事詩のような創作的な文章をさす)の差と言えばより正しい。創作物では主人公とか脇役というようなアクターがいて、作者の思惑を超えたり反映したりしながら勝手に動き出す。勝手に動けば動くほど生き生きとしてきてしかもリアリティが増す。

Javaのプログラムを書いていてオブジェクトが勝手に動き出すなんてことは無い。常にこっちが意識的に動かす。全部、決めてやらなければならない(イディオムにしたがって勝手に動くというのはあるけれど、そういう具体的なコードの話ではなくプログラミングしているときの心の動き、あるいは感じ方の話だ)。ところが、うまく書けてるときのRubyのプログラミングはオブジェクトが自分で勝手に成長したり分裂したりしていくような感じ方を受ける。

#つまり、Rubyはテストファーストしにくい(そういう結論かよ)。

動的/静的の差は実際にはある。コンパイルという過程を通るからある程度のまとまりで記述しなければならないからだ。しかしJavaScriptやVBScriptの場合は、クラスという形でうまく単位化できないからやはりある程度まとめて書く。Rubyの場合だとまとめて書かないわけではないが、より小さい単位で書くことが多いように感じる(が、それは事実ではないようだ)。

#楽に感じるのは、勝手に動くからのようだ。

#さらに考えてみれば勝手に動けるのは、こっちの持っているものを引き出しやすいからだ。したがってプログラミングの感覚をうまく持っていなければ別にRubyを使ったからどうだということは無いだろう。逆に持っていてもそういう勝手に引っ張り出していくスタイルを取ることに拒否反応が出ることも十分にあり得そうだ。その場合は別段利用することにメリットも無いだろう。その意味ではハッカースタイルの言語というのはそれほどは外していないかも知れない。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

_ arton [でも僕はどっちにしてもメッセージは意識しているからそう簡単にはわりきれなさそうです。 この時に、どちらかというとRu..]

_ sumim [ALGOL というよりは C++ 由来…ですね。でも、大事なのは言語ではなくメンタルモデル(と、その発案者)ほうなの..]

_ arton [>割り切る必要はなくて 確かに。まあ、実際には向き不向きがあるから割り切って利用したほうがうまく行くとは思います。]


2005-12-05

_ 猫ねこネコの物語

子供の本を取り上げて読みふける(といっても短編集なのであっと言う間の話だが)。

猫ねこネコの物語 (児童図書館・文学の部屋)(ロイド・アリグザンダー)

モの字が一世を風靡したもんで、何を読んでもそういう目線になってしまうが、まあ、あれだ。この本に出て来る猫が、そろいもそろってモ。まあ、ネコだからな。

王女様は、マーゴット(ネコの名前−−引用者注)に感謝して、絹や宝石でその身を飾ろうとした。しかし、マーゴットは、わたしは自分の毛皮がいちばん好きなのです、といって、ていねいにことわった。(中略)しかし、おおぜいの王様達や家来たちを見るにつけても、ネコでいるほうがずうっとしゃれているわ、と心のなかで思うのであった。

で、児童書なものだから、ほとんどの人間様も結局はネコに説得されて正しい道を歩むというハッピーな物語たちである。子供の情操教育にはばっちりだ。正しいことは正しく、無理は無理。できないことはできなくて、できることだけができる。約束は守らなければならない。自由を守るために知性と理性を駆使し、誇りを高くもって無理せずに暮らす。

というわけで、とりわけかっこいい市場の相談役のバラカ(もちろん猫)の物語『≪だめ≫といったネコ』でも紹介するか。

あるところにシラ=ザール大王という王様がいる。王様なうえに周りを取り囲んでいるのがスマートな人たちだから、これまで「だめ」という言葉を聞いたことがない。なにしろ大王だから「朝食にハチドリの卵を落としたらさぞや元気が出るであろうな」と思いつきを口に出すと、料理人たちがすぐさまそれを作ってしまう。で、食べたらひどい下痢に襲われたり。

大王がいくら無理難題を出しまくっても、大臣や議会は臨機応変な頓知でもって応じてしまう。

かくして、大王はなんでもできる人間特有の病にかかる。つまり退屈というやつだ。退屈な人間はゲームに目覚める。かくしていろいろなゲームに手を出す。もちろんスマートな人たちが周りを固めているから常に大王は勝利する。次々といろいろなゲームをやっていく。

なにをやっても、大王はたいくつしてあくびをした。ただひとつだけ、大王を夢中にさせるゲームがあった。チェスである。これだけは、いくらやってもあきないで、毎日毎日、第一級の名人が呼ばれて、大王の相手をさせられた。そろいもそろって、利口で、抜け目のない打ち手たち、と同時に、その利口さとぬけ目なさは、うまく負けることも十分に心得ていた。

というわけで、国中のあらゆるチェスの名人を次々と負かしていった大王の相手がついに尽きてしまった。誰かおらぬか?

そこで、シャイファー広場にいる、ネコのバラカが呼ばれることになった。バラカは大王が負け知らずということは耳にしていたので興味しんしん。しかしネコだから、人間の名人たちが負ける理由までは知らない。そこで、そこまで強い大王との勝負にわくわくしてやって来た。

今まさに、大王がゲームを始めようとしたとき、バラカはまえ足をあげてこういった。

「正義の守護者よ、どっちが先手か、くじできめさせていただけませんか?」

バラカの大胆不敵な言葉をきいて、お付きの者たちのあいだにざわめきが起こった。

まあ、ネコは素直に王様先手ルールを認めることになる。

……勝負は勝負です。では、始めましょう」

ふたたび、大王が始めようとした。すると、バラカはまたまえ足をあげていったのだ。

「具眼の士よ、わたしのキャッスルがないのにお気づきでしょうね?」

お付きの者たちは、たがいに横目で見あい、総理大臣はバラカをにらみつけた。大王はしかめっ面をし、頬ばぱっと赤くなった。それでも大王は、しぶしぶ、なくなっていたコマを返した。

ここは、おもしろいけど、ちょっと大王はせこいし、誰がそんなワザを教えたんだか。「具眼の士よ」というバラカのセリフを書きたかっただけと違うか?

で、ネコだから全力投球する。王様はびっくりし、汗を流し、爪を噛み、かって経験もしたことがない状況に追い込まれる。権力の発動が必要だ。

そしてあと一手で自分の負けになるのが、はっきりと見てとれた。

「まった! さあ、盤の位置の交換だ。わしがおまえのコマを動かし、おまえがわしのコマを動かすのだ」と、大王は命令口調でいった。

「おお、法の獅子王よ、それはできませぬ。やはり、勝負は勝負ですからね。勝負の最中に席を替えるのですか? とんでもない、だめです」

≪だめ≫という言葉をきいて、お付きの者たちは恐ろしさで息がとまった。

(略)

しかし、大王は首をかしげただけで、ぽかんとした顔でバラカをちらっと見やっただけだった。

「ネコよ、おまえがいま口にした、その奇妙な言葉は、なんだね? ききなれぬ発音だったな。だみとか、だむとか……」

「ただの、≪だめ≫です。もう一度おなじようにいいますと、≪だめ≫」

「おもしろい。その変わった言葉はどこの国の言語で、どういう意味じゃ?」

で、たくさんの学者が動員されてきて言語学的に≪はい≫の意味だとか、動物学的に咽喉の構造から≪はい≫をネコは≪だめ≫と発音するとか、哲学的に逆説になるとか、いろいろな理屈を大王に教えることになる。そのたびに、ネコは不思議そうな顔をしては、「≪だめ≫はだめですよ」と、学者たちの解釈を否定する。

「(略)おまえたちは物理学やら哲学やらをごちゃごちゃならべたてたが、盤の位置はもとのままではないか」

と、大王は大声をはりあげた。

「不屈の知性よ、ようやくおわかりのようですね」と、バラカはいった。

この王様はべつにそれほど悪い人間ではない。だからいきなりネコを火あぶりにしたくなっても一応は考え直して交渉することにする。

「もし、おまえをたぎった油のなかに投げ込まねばならぬとしたら、おまえにとってどんなに悲惨で不愉快なことになろう。たかがチェスの試合のために、な? なんのかんのといってみても、これはゲームにすぎぬ」

「おおせのとおりで」と、バラカはいった。「しかし、世界最高の好勝負ですよ」

「たとえそうだとしても、国王としてのわしの務めや高級な仕事にくらべれば、こんなことは小さなことだ。とるにたらぬ、つまらぬ、一瞬たりとも考えるに価せぬことじゃよ」

「もし、そうなら、大王様は、なぜつまらぬことにこだわるのですか? どちらでもおなじなら、盤はちゃんとしといたほうがいいですよ」

さらに、おどしたり頓知(盤の位置を替えるのではなく座席を替えようとか)を出したり、いろいろするが、ネコにはまったく理解できない。ついに、王様は、最後の交渉に入る。

……シシカバブにしてしまえ!」

「おお、慈悲の大河の王よ」と、バラカはいった。「好きになさるがいい。ただ、ひとつだけ質問させてください。わたしをシシカバブにしたところで、勝負が変わりますかね?」

大王はちょっと返答に窮したが、こう反論した。「だが……だがな、もしもわしが勝つとしたら……」

「勝つ?」と、バラカは問い返した。「輝かしき先手の誇り高き名人よ。それではお聞きしますが、いつもいいなりになる者を相手にして、大王様は心からご満足なのですか?」

さすがに、ことここに至ればネコにも事情はわかる。問題領域は大王の退屈で、そのソリューションは1つしかない。それに大王はさすがに大王であり、ネコの理屈の正当性を認めることになる。

それにしても、「不屈の知性よ、ようやくおわかりのようですね」というセリフを一度は使ってみたいものだ。

_ dRubyのドキュメント

PB memoの人

今月号のるびまの記事を読んでると、勝手にドキュメント書くのはだめと言われているようでなんかしょんぼりしてしまうのですが、dRuby や DIV のドキュメント不足(?)はまだ解決とは思えないので、せめて DIV のソースにコメントをもう少し……

って書いてるけど、るびまのって英語でドカーンと来るから見られないよ〜って意味だよね?

咳 でも苦情系はまだよくて、「RDoc 書いたから読んでくれ」っていうのが凄い困って。膨大な文書が来るんですよ。でも読めるわけないじゃないですか。

一同 (笑)

咳 だから、返事書いてないですけどね。

一同 (爆笑)

と僕は思うので、書いてもいいんじゃないかな。書いてくださいよ(というか、るびまに投稿すれば解決じゃんとか)。

本日のツッコミ(全10件) [ツッコミを入れる]

Before...

_ y-Aki [amazonへのリンクのタイトルの後ろに/titleというのがついているのが気になる]

_ arton [確かに。以前書影が取れなくなったときに適当に直したつけが回ってきてますね。 優先順位が高いのを片付けたら直します。]

_ arton [<a href="http://sho.tdiary.net/20050914.html#p01">ちゃんとアナウン..]


2005-12-06

_ それはqwik

オフィスのコミュニケーションについて考えてみる。

ちょっと歩いて軽くミーティングするってのは良いのだが、エビデンスが弱い。

メールはそれそのものがエビデンスだがすぐにフォルダーの奥深くへもぐりこんでしまう。

Wikiはプッシュしないから、意識的なプルが必要だ。

でも、メールはプッシュされるし、Outlookだとタスクバーに(嫌いだけど)にょきっとキノコみたいなのが時々生えるから、来たことはわかる。

しかし、検索は遅いし、グルーピングは面倒くさい。

つまり一覧性に欠ける。

編集性にも欠ける。行単位レスポンス形式はエビデンスが消えるので嫌われるようだ。

だらだらつなげるのは、一覧性を求めているからなのだな?

メディア長所短所
対話即時性(居れば)不在時にスタックできない/揮発性
メールプッシュ/不揮発性一覧性/引用と編集
Wiki一覧性/引用(リンク)/編集プル

ということかな? ならメールとWikiの良いとこ取りすればいいんだよな、とか考えてみた瞬間に、qwikWebってそういうことなのかとわかった。

むちゃむちゃわかりやすくqwikWebについて説明してみる」には、

(企業などではない)小規模グループをメインの対象としたグループウェアとしてぴったりくるようなものはあまりないのでは?

と書いてあるが、Outlook+IE+Word+Excelな企業で、普通にせこいPCを利用している分にも、向いているように思える。MLではなく、グループアドレスというような言い方をしておいたほうが通じやすそうではあるけど。

_ 早くナレッジワーカーになりたい

日夜、企業システムの構築に働くみなさんこんにちは。

なぜ、今 ナレッジワーカーなのかによると

労働集約型産業は労働力を多く投入して作られた製品やサービスを提供する産業であるのに対し、知識集約型産業は知識や技術を多く投入する産業である。

さらに追い打ちをかけるように

知識集約型産業の代表的なものとしては、コンピュータ関連産業、(後略)

とありますが、そういう世界もあるかも知れないけど、嘘ですね。

企業システムの構築は、労働集約型産業だと思う人、手を挙げて。ハーイ。大体、中国だ、インドだ、ベトナムだ……というような産業が労働集約型産業以外のなにものだというのだろう。

もうひとつの特徴は、労働集約型産業においてはマニュアルへの依存度が高いということだ。そこでは手続きやルールが重視される。機械の代わりに人間に作業させる場合の定跡だ。コーディング規約がなぜ必要か、を考えてみればよい。でも、それを必要とする状況や、開発プロセスを云々している限りは、それは労働集約型産業に留まろうとしているということに他ならない。そして、コストをかけてしまうと、そこに永く留まるための逆方向の圧力になってしまうという問題さえある。

でも、なぜ、誰よりもコンピュータを正しく使えるわれわれが労働集約型産業に留まる必要があるんだ? 規約やプロセスなんか全然関係なく、そんなものなしのほうがはるかにうまくやれる(というよりも、そんなものを利用することがそもそも不可能な)領域にどうして行けない理由があるんだろうか。

というわけで、さっさと知識集約型産業へ移行しようじゃないか。

移行できていないということは何かが欠けているということだ。

定義によれば、「知識や技術を多く投入する」ことができないから「労働力を多く投入」になるのだ。

知識とは何か? 技術とは何か?

それがわかれば、移行は実現できる。

知識と技術−−この2つは、人間が人間たりえている2つの足のようなものだ。僕たちは、知識と技術の2つの足を使って未来へ歩を進める、そういうことだ。

_ CodeZine

Basic認証・Digestアクセス認証の実装

Digest認証のことを書くよりも、実例をあげてNullObjectパターンについて書いたほうがおもしろそうなので、そういう記事です。

あとは、MessageDigestクラスの呼び方のコード例ですね。


2005-12-07

_ NET Frameworkとヒープサイズ

using System;
using System.IO;
public class Mem {
    public static void Main() {
        //System.Console.WriteLine("MaxWorkingSet=" + System.Diagnostics.Process.GetCurrentProcess().MaxWorkingSet);
        String content = new String(' ', 1024 * 1024);
        MemoryStream ms = new MemoryStream();
        using (StreamWriter sw = new StreamWriter(ms)) {
            try {
                for (int i = 0; i < 1000000; i++) {
                    sw.Write(content);
                }
            } catch (OutOfMemoryException) {
                System.Console.WriteLine(ms.Position);
                System.Console.WriteLine(GC.GetTotalMemory(false));
            }
        }
    }
}

を動かすと、その時々のマシンの空きメモリーによって異なる結果になる。

C:\Home\arton\test>Mem
Mem
134217728
136361180
 
C:\Home\arton\test>Mem
Mem
134217728
136339824
  
ハンドルされていない例外 : OutOfMemoryException.
  
C:\Home\arton\test>Mem
Mem
268435456
270828636

ちゃんと終了できる場合もあれば、「ハンドルされていない例外:……」で結局殺される場合もある。

Javaだと

C:\Home\arton\test>java -Xms1024m -Xmx1024m Zen
java -Xms1024m -Xmx1024m Zen
Error occurred during initialization of VM
Could not reserve enough space for object heap

最低メモリーサイズを指定すれば、そもそも動けない場合には最初から実行されない。お仕事実行の場合は、こっちのほうが望ましい。いつもは200MB余裕で動くけどたまたま128MBで殺されるというのでは(そこまでの実行時間が無駄になるし)運用が厄介だ。

というわけで、*.configで指定できるんじゃなかろうかと思ってMSDNを引っくり返したがそんな要素は無いみたいに見える。

実行に必要なメモリーサイズの下限/上限の指定の仕方をご存知の方がいたら教えていただけませんか?

追記:流れてしまったけどNyaRuRuさんやLady.BUGさんからご教示をいただきました。ありがとうございます。結論から言うとCLRHosting APIを利用して自分でやる、ということのようです。いろいろ参考になるURLを教えていただいているので、興味がある方はBefore...をクリックして参照してください。

_ 今日(昨日か)の1470mm観察

大人になると誰も指摘してくれなくなるかわりにはてなB(と書くのか?)にクソミソ書かれるわけだが、書かれたほうが大人の場合、反省の弁がきちんと内容を理解した上で(だからYahoo!ブログの特異性がこれまたわかって興味深い反応になったり)出てくるということか。

ただ、どうもよくわからないのは注意書きがついた元の記事と同じ内容で注意書きなしの別の記事があることなんだけど、これはなんなのだろう。バックアップ? こっちも注意書きを入れたほうがいいんじゃないかな。(追記:5月のほうのはコメント欄に注が入ってた)

_ オライリーのお友達の達人の本棚シリーズ

あなたの管理者が知っておくべきことって副題だが。

本日のツッコミ(全12件) [ツッコミを入れる]

Before...

_ かくたに ["Java to Ruby"は正確には達人の本棚シリーズです。http://www.pragmaticprogram..]

_ arton [NyaRuRuさん、このHIGH Availabilityの記事は確かに読む価値がありますね。どうもありがとうござい..]

_ arton [しかしCLRはどんどん方向を外しているようにも見える。これをマネージドの世界でやる意味あるんだろうか? クリティカル..]


2005-12-08

_ TIOBE Programming Community Index

どういう規準なのかこの説明からは良くわからないがJavaとC/C++が圧倒的で、PHP、VB、Perlが団子、随分差をつけられてC#とPythonというのは感覚的にはそんなもんかなと思う。

Rubyが、DやIDL(?)、MATLAB(MatzLabじゃないよね)、Awkより下というのはそんなもんなのかな、というかAwk恐るべし。


2005-12-09

_ 温故知新

The WorldWideWeb browser

もし、ティムがNeXTじゃなくて、DOSマシンしか持ってなかったら(1990年のことだ)、あるいはコンソールかたかたマシン(Xなしのワークステーションとか、DECとか)しか持ってなかったら、ずいぶん世の中は違っていたかも知れない。

あるいはプロトコルとHTMLとサーバと取り合えず引っ張ってくるだけの(ftpを改造した程度の)クライアントしか用意しなかったらとか。

興味深いのは、Navigateメニュー(白黒のJPEG版のほうだと見える)が奇妙なことだ。2段で上が<Previous Backup Next>、下が HomeとHelp。

今のブラウザーは、中止と更新があるけど、その代わりにback upというのがあるだけだ。

更新が無いのはわからないでもないし、中止がないのもわからないでもないけど(静的コンテンツの受信だけだからそれほど必要ない)、back upってなんだ? 説明文のほうだとBack upが単にbackになっていて説明がないからなにをするんだかわからない。後のほうでEditメニューがあるから文字通りのBack upなのかも。(追記:Previous、Next含めて間違い。ツッコミ欄のoginoさんとtetsuroさんのコメントを参照)

それとstyleメニューがあること。この頃は逆にスタイルシートが必要だったということだ。ある意味じゃNetscape時代が暗黒時代だったとも言えるのかな?(でもその単純さというかレディメイド思想のおかげで普及したとも言えるかも知れない)

Markというブックマークの仕組みもこの時期から考えられていたようだし、最初から編集とPUT、LINK(新しくリンクを作る)があるということは、Wikiは先祖返りだと言えなくもない(のかな? オーサリングツールと一体化しているということなんだろうけど)。

_ おお

相変わらず自己弁護(自分の責任ではない。悪いのは自分以外)と記者さん弄りに特化したコメントが多いですね。NISさんのチェンジリーダー特集の売上がまた延びちゃいますね。

記者さんに「もっと勉強しろ!」って言わずに自分の周りの環境を伝えてあげるのもいいじゃないでしょうか。そうすれば記者さんがシナリオを作る時の幅が拡がるじゃないですか。そうすれば自身が抱えている問題をBPさんの雑誌を通じて解決できる確率も増えるんじゃないでしょうか?

双方向性ってそういうことじゃないのか?ここはそういう活用をしよう。

(40代,システム・インテグレーター,システム企画部門 )

SEの「設計スキル」は低下しているのか」だが、

記事そのものははっきりいってどうでも良い与太話みたいなもので、(というか、この記事に「メンバーはコンサルタントとプログラマばかり。」という箇所があるが、確かにプロジェクト管理者(PM)がいなければ困るとは思うが、技術的にはそれで十分なはずで何か問題があるんだろうか? 基本設計というのはプログラマがするものだと思うというかオレがしてるし(まあ、用語に一貫性がないのがIT業界のようだからしょうがないだろうけど))どうでも良い内容なので、どんなコメントが付いているかと思ったら案の定くそみそに書かれている(でもはてbと違って内容が無いくせに長いのが興味深い)。

で、引用したのがおもしろいのは「自身が抱えている問題をBPさんの雑誌を通じて解決できる確率も増える」というメタな部分。

_ サンタが街にやってくる

すっかりアマゾンもクリスマス風景ですな。

サンタ服 エプロン(-)

138位っていうのがちょっと奥床しいかも。コメントもいい味だしてるし。

どのくらいクリックされるか楽しみです。

_ クリック遊び

きしださんに煽られていろいろやってたら、出たよ、出ました。(注:あくまでもマイページを更新してやるのがミソ。会社やジャンルでやったら出るのは当たり前だ)

フレンチメイドさん コスチューム レディース(-)

なんと、「対象年齢 6歳から」

カラー忍者スーツ ブラック(-)

忍者も6歳から。ちなみにズボン丈は1020mmだが。

魔女のプリントハット(-)

それにしてもいろいろあるな。

DX還暦セット(-)

で、最後にこんなのが出た。

天才がどんどん生まれてくる組織 (新潮選書)(齋藤 孝)

どういう組織かなんとなく想像ができるような。

本日のツッコミ(全10件) [ツッコミを入れる]

Before...

_ きしだ [ディズニーコスチュームまで現れましたよ!]

_ きしだ [罠だ。これはきっと罠だ。全部クリックしたら、マイページの芸風が変わってしまう。]

_  [JaSST'04で忍者を着ればよかったかも。]


2005-12-10

_ RHG読書会

うう、こんな時間だが、今日中にやるべきことがまだ終らない。

_ まだなのか?

Googleさんだと「八分 site:amrita.s14.xrea.com」 で検索してもなんも結果が返ってこないんですが。(site:の使い方が間違ってるかも知れないけど)

本日のツッコミ(全2件) [ツッコミを入れる]

_ babie [あってる>「ロンリーワン site:arton.no-ip.info」]

_ arton [どうもありがとう。やっぱり、合ってるよね。たださんのところでも書かれているから僕の目の誤りじゃなさそうだし。]


2005-12-11

_ 皮肉な現象

多分、誰よりもGoogleの価値を正しく評価していると思える圏外が、Googleの検索圏外というのは皮肉ですな。

_ コンピュータは計算機と呼ばれていた(なんでカタカナに変えたんだろう?)

コンピュータが計算機と呼ばれた時代(C&C振興財団)

昨日ちょろっと話していた本。僕は頂いたのですが(帰ったら届いてた)。

多分、1956年に完成した日本最初のコンピュータFUJICの生誕50年を祝福する本だと思う。

カラー写真が数ページとあとは白黒写真満載。

カラーで出てるのはETL MarkIIという1952年のリレー式計算機。なんかハンコ屋さんみたいに見えるけどさっぱり理由はわからない。FUJICは1956年の真空管式計算機。きれいだ。これ国立博物館で見たことあると思うけど。NEAC-1102は1958年のパラメトロン式計算機。コンソールは50年代のSFの世界。磁気ドラムってこんなのかとか、多分私が最後の世代でしょうorzな磁気テープとか(2400ftと1200ftの質感というか持った重さ感を知ってるからな)。HITAC5020は1964年でトランジスタ式。

とにかく写真が多いからパラパラ見てるだけでおもしろいのだが、特に驚くべきなのはMARS101という国鉄のオンライン予約システム。ユーザーインターフェイスがはんこなのだ。(上のほうでハンコ屋さんとか書いてるけどそれとは無関係)良くそんなデバイスを作ったな、ともいえるけど。参入障壁以外のなにものでもないけど、それが顧客が選んだインターフェイスということなのだ。

NEAC-1103は死刑執行台のようにも見えるけどかっこいい。

ところでFUJICで使用された6L6Gという真空管の写真があるが、

 6L6
  G

っていう型番の配置は顔文字を意識したデザインなのかな。

うむBUNCHという言葉を久々に見たな、とか。

同時発売とカバーには書いてあるけど実際にはちょっと違う

新装版 計算機屋かく戦えり(遠藤 諭)

こちらはとっくに出てます。


2005-12-12

_ なんとなく注文

動物の森でも買おう(飼おうになるのか?)と思ったけど、WiFiのコードを見てもなんだか良くわからなくてその気が失せてしまった。

で、

ファミコンミニ スーパーマリオブラザーズ(-)

突然、こんなのでお茶を濁したり。というか、CDもそうだが昔やったものを買うというなんの発展性もないばかな消費行動に自分でもうんざりしてみる。

それで、なんとなく眺めているうちにこんなのも買ってみたり。

不思議な数πの伝記(Alfred S. Posamentier)

_ 参考になる+1

航海日誌のコメント欄

nminoruさんが書かれていることは実感としては正しく思う。最初なんでCじゃないのかと思ったけど、アプリケーション開発のコストを考えるとCは無理で確かにCOBOLということになるのかな、というのは納得しないでもない(*)。またCafebabeさんの冷水を浴びせかけるようなコメントもまた納得がいくものだ。とは言え、僕のスタンスはkeisukenさんの「後は運用でなんとかするしか」に近い(というのは意味するところが違うかも知れないからだが)と思う。(追記:TBどうもありがとうございます。ソース直修正はさすがに考えてませんでした。ちょっと難しいかな。で、とりあえず運用として再起動をスケジュールしておきまずくならないようにするは賛成です。あと僕はイリーガルなケースの範囲設定とリカバリーの手順化といった本当の運用対処の体勢作りも含めたほうが良いかなと。ではなぜそれでもJavaかと言えば結局は(当初はそういう発想はあまり無かったけど)量を解決するためですね。

*)たとえばすべてCならば完全に追いきれるのだが、間にVBScriptが入った場合には追いきれずに参ったことがある(それからなんかすごく複雑なAPI経由のコールバック先で死んだ場合とか)。とは言えCOBOLもコンパイル言語だから、コアと一致する-Sの世界があるから後の解析は楽だとは思う。とは言うもののランタイムがオープンでないと追える自信は無いな……。っていうか枯れているから追いかける必要がないということかも。

そういうレベルで考えると、RubyのほうがJavaより死んだ場合の解析は楽だからより望ましいかも知れない(スタックやフレームがのっぺらぼうにならなければ)。と思ったらCafebabeさんが「組み込み系ではインタープリタしか使わなかったり」と書いているから、最後の手段は同じことなんだろうなとか(でも続くところで最適化を抑制する例があるから違うかも。というかコンパイルしたコードを自由に追える人ならどっちでも良いのか)。

#追記:つまりSunのeverything is openってことか。


2005-12-13

_ トロイの木馬の呪い(404じゃないんだが、駄洒落が好きらしい)

Exerbコアからのトロイの木馬検出について

(多分)トロイの木馬の作成に利用されてしまったために、オリジナルがトロイの木馬扱いにされるという恐怖。

自分が知らないうちにブラックリストに載せられてしまう恐怖というか。

検出方法が明らかになっていれば、生成の都度異なるシグネチャを埋め込むことで回避するとかできるかも知れないけど(というか、そんなことができれば、木馬の作り手も簡単に大量生産できてしまうわけか)、当然検出方法がオープンってこたないだろうし、とんでもなく厄介な感じ。

_ いいこと言った(と思う)

なぜ、会社に育ててもらおうとするのか

いいことを言っている! と断言しないのは、個人的にはオレはこうやって頑張ったんだからオマエも頑張れという言い方って、あまり意味ないんじゃないかという懐疑と(やるやつは勝手にやるし、やらないやつはどうせやらない)、構造が我に艱難辛苦を与えたまえ鹿之助的というか体育会系的というか苦労の拡大再生産みたいなのが好きになれない(どうもそういうものは必要なんだろうなとは思うようになってはきているが、嫌いなものは嫌い)あたり。

追記:なんか読み返すとネガティブなことしか書いてないからわけがわからんな。もちろん「いいこと言った」というのが先にくるってことはポジティブにいいとは思ってるのだ。まず第1に迷っている(勝手にやるほど勇ましくはないが、どうせやらないほど怠惰でもない)人には良い背中押しかも知れないし、そういう考え方に至らない人には良い助言だとは思う。そういったもろもろの「いいこと言った」という思いとは別に、「と思う」というような断言できない思いもあるのだ、ということだ。

_ 喉元過ぎると忘れる

スパイグラスですが何か?


2005-12-14

_ 無惨

シグルイぽんぽこりんを眺めながら、ふと『無惨』とは何かが気になった。

もしも『悲惨』が悲しく惨めなことならば、『無惨』とは惨めでは無いことだ。

なぜ、惨めでは無いことが『無惨』なんだ? どう考えても『無惨』とは「むごたらしい様」を表す言葉に読めるのだが。そこで手元の岩波国語辞典を引いてみると(以下抜粋)

  1. むごたらしいこと。残酷。▽(3)の転
  2. いたわしいこと。
  3. [仏]罪を犯しながら心に恥じないこと。

とあった。なるほど、心が参らない(=負けを認めない=折れない)ってことなんですか(転というよりは同じことを大局的に外から見たありさまって感じだ)。


2005-12-15

_ 大鰐通りと六本木ヒルズ

もう既にどこで読んだか忘れたが、どこかのBlogでワイマール共和国の青年と今の日本の青年を対比させた記事(エッセ? 論考? Blogの内容はなんて呼ぶのが正しいのか。BlogにBlogを書くならBlog。BはWebのBだからWebは入れ物とすれば中身はlog)を見て、シュルツの大鰐通りがどんな通りかぴたりとわかった。

シュルツ全小説 (平凡社ライブラリー)(ブルーノ シュルツ)

ちょうどトンネル抜けて数字の羅列が表示されたビルの角から坂を登って行く通り、電気が青く光るガラスの通り、つまりあそこもまた大鰐通りなのだ。

死都ブリュージュ (岩波文庫)(G. ローデンバック)

だが、僕がより惹かれるのは死んだ街、生きる亡霊が住む街ではなく、既に死んだ生者が住む街なのだ。

コルンゴルト:歌劇「死の都」 [DVD](ジャン・レイサム=ケーニック)

コルンゴルトは最後のロマン派、最後の歌が自然と流れ出す作曲家だが、どういう気持ちで甘美なメロディーを生み続けたのだろうか。歌は生まれると同時に時代遅れという烙印が押されていることに気付いていたに違いないのに。

トスカの接吻 [DVD](サラ・スクデーリ)

コルンゴルトは結局、まさにベルディの家に葬り去られて過去の歌に包まれながら忘れ去られるのにふさわしい作曲家だが、ハリウッドへ渡った。

オペラとキネマ、それが2つの大戦の間に、片や滅び始め片や興り始める。浅草が今でもモダンなのは一度押された烙印は消すことができないからだ。

ラ・パロマ [DVD](イングリット・カーフェン)

ウィーンとハリウッド、2つの都をスイスの古いホテルから眺めるシュミットが、コルンゴルトを発見する。

その浅草の近く、根岸で最後の同潤会アパートを見たり、元の土手のあたりから泪橋までいろは商店会を散策したり、投込寺で永井荷風の歌碑を見た。

_ rjbメモ

スクリプトからのイベントハンドラの登録をインターセプトしてJavaのDynamicProxyに置き換える。そこからソケットを利用してメインスレッドへ送る。

メインスレッドではメッセージポンプするJavaのオブジェクトを用意する。そこからRubyのハンドラへデリゲートする。

メインスレッドの待機メソッドは上記のオブジェクトのポンプメソッドの呼び出しとする。

でもLinuxとOS Xではやっぱりだめか(根本的な問題だし)

_ 突然コーヒー小僧

あ、こういうことか。
kiki:~/test>od -x Test.class
0000000 cafe babe 0000 002e 005f 0a00 1c00 290a
0000020 001c 002a 0a00 2b00 2c08 002d 0800 2e0a
0000040 002b 002f 0900 3000 3107 0032 0a00 0800
 ...

2005-12-16

_ Joel祭り

むぐ。サヌールさんに先を越されてしまいましたがw、というのはどうでも良いですが、

ハッカーと画家 コンピュータ時代の創造者たち(ポール グレアム)

オーム社からのハッカーと画家に続く、アメリカのソフトウェアエンジニアがビジネスの世界についていろいろ知見を語りまくるシリーズ第2弾(だと思うけど自信はない)の『Joel on Software』が出ます。

Joel on Software(Joel Spolsky)

第1弾(と勝手に決めてるけど僕の中では一連のシリーズなのでそれで良いのだ)のポールグレアム(グラハム改)がMITハッカーでLISPでEコマースで買収されてお金持ちなのに対して、第2弾のジョエルスポルスキはMSのExcelのVBAのプログラムマネージャ(プロジェクトマネージャじゃないよ。この職掌はもしからしたらMSの強みの1つの理由であり、彼等のプロダクトがてんでんばらばらな原因の1つかも知れない、とても興味深いので本文を参照のこと)を経験した、破滅へ向かうISPのエンジニアを経験した、今はBTSとか売っているソフトハウスのオーナーだ。

というわけで第1段がハック!とかっこ良いけれど、第2弾のほうはドキュメント書こうぜ、テストをしようぜ、宇宙飛行士の言うことには耳を傾ける必要はないぜ、まだまだ.NETなんか触れるかい、プログラマに必要なのは集中できる環境だ、ととても現実的で地に足がついている感じ(ポールグレアムが浮いているというわけじゃないが、もちょっと普通の人間の僕らの身の丈に合った提言をしている感じ。「普通のやつらの中を行け(ただしスマートに、笑顔を忘れずに)」ということだ。

ちなみに知っている人はみんな知っているが、まだの人は青木さんの翻訳済み文書も公開されているのでまずその語り口のうまさと視点の良さを味わってみましょう(出版にあたって相当手を入れられているし、気楽に読めて面白く、しかもいろいろ知見を得られるから買う価値はありますよ。というかこれも売れると第3弾とか第4段とか出てくるはずだし)。

#訳者の青木さんはとても謎な方で、翻訳の語り口からプロの翻訳者なのかと最初思ったら、テクニカルタームをきちんと(DLLがどうしたというようなやつとか――全くの別件を思い出したのでクリップ:DSLの話をしてたらDLLというのは衝撃的だったな――)押さえられていたり。で、奥付を見てちょっと納得した。

#ちなみになぜ発売前に僕が手にしているかというと、査読させていただいたからです。

(ちなみについ軽く調べてみたが「査読」って言葉は昭和以後の翻訳語のように見える。site:www.aozora.gr.jpで「査読」を検索すると出てこないってことは寺田寅彦あたりは使ってない言葉みたいだし、文学的な利用方法も皆無ってことだ。1988年の大辞林にも出ていないというのは驚きだ。ってことはすごく若い言葉、あるいは国語的には存在しない言葉なのかも。で、現時点でGoogleから100件程度ランダムにチェックした限りでは笹田さんが書いている意味での利用方法しか無いように見える点から想像すると、笹田さんが正しいのかも知れないな。単純にreviewの訳語だからreviewに置き換えられる個所には利用できるのかと思ってたけど、何か日本語にしなければならない理由があって―JIS用語とか―その意味で合成したと考えるのが自然なようだ)

_ ファッション・ターンズライト、ファッション、ターンズレフト

Joel on SoftwareのURLを探すためにいろいろ見ていたらファッションの本もあったり。プレッピーハンドブック(ははは、さすがにAmazonには無いな)みたいなパロディ本なんだと思いたいがなんかなぁ。

オーム社って回路図が出ている本を出版している会社っていうイメージがあったんだけど時代は変わるもんだ。

っていうか、Amazonってやっぱりすごいな。「あわせて買いたい」が絶妙だからあわせて貼っておこう。

脱オタクファッションガイド(久世)

萌えるダイエット(みさくらなんこつ)

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

_ arton [>review前がproofreading なるほどー。出版だと?(話題のやつ)が最初にあってから校正、出版、批評と..]

_ arton [上の最後、誤解されやすそうな書き方だな。禁止されているのは「検閲」のほう。]

_ よしき [蛇足ですが、「reviwerが査読で」というのは、「査読はレビューで」というべきだったかもしれません。当然ながら、r..]


2005-12-17

_ 趣味のプログラムは全力で作れ

というarinoさんの知見。

遅くなってから最適化しろ、 という奴は趣味プログラマーとしては最低だと思う。 趣味プロは飽きたら終わりなのだ。 飽きた後に遅いと分かっても直す気なんて起こらんのだよ。 だからギリギリやる気の出る範囲で限界まで手を抜いた速度を見出すのが実力って奴だと思う。

うむ、正しい。思い当たる節がびしばし。

後、作れる限りは作っとかないと単なるソースのゴミがディスクを埋めて鶏の肋骨みたくなっちゃうこととか。

#追記:「全力」って単純化して書くのはまずいな、と気付いたがまあいいや。


2005-12-18

_ 休みなのに早起き

夜更かしせずに早く寝たことの結果。

_ ActiveScript探索メカニズム

解決済みかも知れないけど、次のようになります。

1.CScript, WScriptでのスクリプト実行

レジストリから拡張子を検索。→(標準)の値で再検索→該当キーのScriptEngineを検索→(標準)の値で再検索→OLEScriptキーが存在していることを確認してからCLSIDを利用

例:VBS

HKCR\.vbs → HKCR\VBSFile\ScriptEngine → HKCR\VBScript\CLSID

2.IEのscript属性

値としてScriptEngineを指定

1.の例だとHKCR\VBScriptがOLEScriptキーを持っていることとの確認とCLSIDの内容を利用

3.スクリプトホスト開発環境がエンジンを列挙

HKCR\CLSIDからimplemented categoriesにCATID_ActiveScriptを含むものを列挙

またはOLEScriptキーを持つものを列挙

(CATIDのほうが新しい規約だと思うけど確証はなし)

ASRは、CScript/WScriptからの実行の場合はGlobalRubyScript(メインスレッドで実行するバージョン)、IEの場合はRubyScript(無理矢理アパートメント)のため、2種類を利用しています。

参照:

How to implement Active Debugging in ATL ActiveX Script Engine

#以前はなんかすごくいい加減なスクリプトサンプルだった(多分、ActiveScripting FAQに置いてあるサンプルのSamScript)と記憶しているけど、上のリンクのサンプルはForthスクリプトになっている。

以下のリンクはメモ:(読んだ覚えがない)

Active Scripting APIs: Add Powerful Custom Debugging to Your Script-Hosting App

All About Scripting(これは読んだはず)

というか、TOC参照。

_ 1995から2000

NT4/Windows95のDCOM eraってのは確かに楽しかった。

再発見されたもの:RPCとか

再構築されたもの:simple is better (RPC over XML over HTTPとか)

その他いろいろ

_ プロモですがヤラセではありません。

気持ちはわからないでもない。

「仕様ですがバグではありません」というのは、確かにある。その場合に、バグバグ言われると確かに不快になる。仕様書読め、と。

(しかし、それ――仕様とかプロモとか――が明らかでなければ、言われてもしょうもあるまい。どこかに、「これはプロモです」っていう仕様を明記してたのか?――してたと言ってもいい気もするけど。っていうかso-netだし。)

_ 買わなかったマンガ

本屋に行ったら文庫コーナーにるんるんカンバニーが平積みされていた。

るんるんカンパニー (1) (ハヤカワコミック文庫 (JA827))(とり みき)

そういや、あったなぁ、と思い出してみた。

少年チャンピオンから吾妻ひでおが姿を消して数年(だと思うけど、違ったかも)、同じような絵柄の人が出てきたな、と思ったのがとりみき。が、これっぽっちも面白いと思った記憶がない。

で、まあ、それからさらに数年して、

近未来馬鹿(唐沢商会)

こんなのをつい買って読んでいたら、あとがきだか解説だかをとりみきが書いていて、(うろ覚えだけど)、おれたち(唐沢弟ととりみき。唐沢兄は枠外)は理工系ギャグマンガ家だからどうしたって読者層が限られちゃうよね、というようなセリフが出てきて、吹き出した。

ああ、なんとなくわかる。

_ プログラムを作るということ

趣味プログラムは作りきれ(とタイトルを変えてみたり)を読み返して、突然、思い出したのが

その他くん [マーケットプレイス コミックセット](つのだ じろう)

空手バカの世界からオカルトへ移ったはずだが、後の一太郎の連載終了後になぜか突然ギャグタッチで展開されたマンガ家を目指す少年の成長物語兼マンガ家入門。

別にマンガ家になる気はなかったし、ただ毎週、そこに掲載されているからという理由だけで読んでいたわけだが、なんか思い出した。

ある日、その他くんはオフ会(って、オン会もへったくれも無いからなんでそうなったのかは今やわからないけど)で知り合ったすごい連中の作品を見て打ちのめされる。絵はうまい、キャラも立っている、それに比べて自分は全然だ。

絶望するその他くん。ところが、そこに説教爺さんが出てきて(多分、嘘。記憶しているシーンは5コマくらいなので、無理矢理作って繋げている)、説教する。「こら、その他、やつらのマンガをちゃんと見てみろ。どれもこれも最後が『続く』になっているだろう。断言するが、次は無い。次はまた第1回を描くはずだ。悪いことは言わん。お前はそのへっぽこ4コマ道を愚直に歩め。それが正しいのだ」

#記憶しているコマは、1:ラグナロクというタイトルの超絶者の作品のタイトルが佳作に出ている新人賞の紙面、2:新人賞の発表を見て泣きながら駆け出すその他くん、3:すごくつまらないその他くんの4コマ。確か公園のベンチの両端に男女、風船、よけるために近づく、風船がハートマーク。犬が出てくるコマもあったような気がする、4:モヒカン(確かラグナロクの作者)の顔のアップ。

だから何ということは無いのだが、多分、完結させるということがすごく大事、ということだ。

#なんか、アマゾンの書評でも誉められているし、なぜか上の部分だけはしっかり覚えていることを思い合わせると、良いマンガだったのかも知れない。少なくても、未完の傑作よりも完結した駄作というのを肝に銘じているのはこのマンガのせいだ(未完の駄作もたくさんあるけど)。

#追記:なぜ、「完成」ではなく「完結」と書いてるんだろうか? と読み返して疑問が。マンガと違ってプログラムは成長する可能性がある(実際はマンガだって単行本化の時点でとか成長の可能性はあるようだが)から、完成という言葉を無意識に避けているんだろう。

本日のツッコミ(全5件) [ツッコミを入れる]

Before...

_ babie [絵柄が当時もう古臭かったからかなぁ>ゲラゲラ。 one of them ではなかったのは確かです。]

_ arton [ああ、絵柄は確かに。というか、古典も何もあの頃からヘタだとはみんな思ってたはずだけど(で、思い出した。絵がヘタだと嘆..]

_ arton [っていうか、時代が変わって文化が深耕されて読み方に余裕ができたからメタな楽しみ方を中学生でもできるようになったってこ..]


2005-12-19

_ 今日のMM

「五輪のフィギュアスケートに年齢制限があるのは、ナンセンスである?」というプロとアマチュアのせめぎあいという見方もあるいっぽうで

魂まで奪われた少女たち―女子体操とフィギュアスケートの真実(ジョーン ライアン)

というレポートもある。と読めば良いのかなぁ。


2005-12-20

_ メモ

Graffle Pro 4.1にバージョンアップしたが何が変わったのか全然わからない。後で確認する。というか、もう4:47で死ぬほど寒い。

_ EM菌

知らないモノはまずグーグル

EM菌 の検索結果 約 487,000 件中 1 - 10 件目

でも上位はホザンナばかり。

そこで魔法のキーワードを追加してみる。

EM菌 ニセ科学 の検索結果 約 68 件中 1 - 10 件目

有用性がないわけではないという程度のものらしいということまでわかったので興味を失う。菌というからなにかものすごいマタンゴみたいなものを想像していたのだが。

追記:やっとレジュメを見つけた(EM菌+ニセ科学のはリンク切れだった)。

文献リストがリンク切れなので探した。疑似科学と関連領域の文献リスト


2005-12-21

_ なぜだ

検索ナビゾーで少女を検索

というか、ROMアップデートをしたまえ、というか。

リファラspamとは思えないので読み返すと、ポルノ、変態という言葉が入っているのが原因かな? しかしわけがわからないな。


2005-12-22

_ デスクトップアプリケーションの姿

どうも、「……で不快だ」「……で面倒だ」ドリブンだと、新しい発想なんて湧いてこないということを教えられる。と思ったけど、その実現のために発想することもあるからちょっと極論だ。

でも、「……で十分だ」「……で満足してる」ってのは、自分がたまたま、あるいは必然で、とするとアルファとオメガの両方になってしまうが、その処理をうまくこなせてるだけの話で、他の人にとっては何の意味もない(作業の結果ではなく、その作業に熟練しきっているってことが)。

そこから、「で、どうしておれは……で十分なのか?」とか「どうしておれは……できるのに、そうじゃないってことがあるのか?」とそれが可能な理由を考えて、そこから機械化へのアプローチをする――文書としての形式知化ではなく、ソフトウェア化を考える――という発想(してないけど)方法もあるということ(と、メモになってしまった)。

_ も、モンガー

ふと、コンサイスを引く。ってのは、フランス語のmangerで好物を食べる(ドッグフードじゃなくて良かったね)から来てると思ってたからだけど良く見たらaじゃなくてoだ。
monger
商人。……商。……屋。

これって日米共通の言い回しなのか? つまり、「……屋」。Perl Mongerって日本人が言い出したとは思えないけど、つまりPerl屋で、日本語として十分に普通の言い回しに思える。もっともメインフレーム屋がMainframe Mongerを自称しているのを見たことはないし、DB屋がDB Mongerと言うのも寡聞にして知らず。

追記:tetsuroさんのツッコミ参照

本日のツッコミ(全5件) [ツッコミを入れる]

Before...

_ arton [Power Mongerってやったことないなぁ。2つの顔が向かい合わせになってるカバーのゲーム?]

_ tetsuro [ぶぶー 3人です。 ポピュラスから地形を上げ下げする要素を省いて、戦闘に力点をおいたような内容です。 クウォーター..]

_ arton [そっか残念 > 3人 (でも確信を持ってカバーは見たことがあると思えるようになった) 戦闘ということは、大戦略とかオ..]


2005-12-23

_ 言語がいっぱいいっぱい

Sunの"オープンコミュニティに記事を書かせて頂きました。

第1回はオープンコミュニティベースのプログラミング言語カタログです。

オープン・コミュニティよってサポートされているプログラミング言語

追記:現時点のミス(12/26修正済み)

・Gaucheの説明:Schema→Scheme

・Rubyの説明がいきなり「で。」→「です。」

・修正するつもりは無いが厳密には正しくないもの:オープンソースソフトウェアという言葉を使っているが、OSSの定義を厳密に適用すると、HSPだけではなくスクイーク(Appleライセンス。APSLでは無い)もOSSでは無いことになる(と思う。弱気)。また、Haskellは処理系を指定していないからOSS云々がからまない。

・語弊とか:住井さんのTB参照(背景の説明:そもそも「見つからない」とか書きながら取り上げているのは各所でのMLに対する言及を目の当たりしているから無視できなかったからなんだけど冒頭に書いたようにML―こっちはメーリングリストのこと―オリエンテッドに記述しようとしたあたりで書きようがなくなってしまったため)

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

_ arton [今一つ読者像に自信を持てないんだけど、見たことも触ったこともない言語(と、想定)がいろいろあって、しかもそれらがアク..]

_ sumii [また横からスミマセン。おそらく、スクリプト言語方面の理解だけで書かれているように見えてしまい、あまりにも情報が偏って..]

_ arton [えーと、説明が難しくなるし逆に説明し過ぎると逆に誤読を誘発(記事からリンクをたどって来る人に)する可能性があるので、..]


2005-12-24

_ 考察

さて、修正しようと町まで出かけたが、ちょっと上を見るとGaucheとえらく扱いが違うことに突然気付く。なんで、処理系を最初から横に出さなかったんだ?

どうも、こういう心の動きがあったようだ。

Gaucheの場合、

1.(綴りを間違えて覚えてたというのはおいておいて)Schemeを知っている(だから、処理系の名前をトップに置いても良いだろう)

2.トップページにMLへのリンクがある(直接個人に変なものが行くことはないだろう)

というのがゆるい書き方をさせて、一方のMinCamlについては

1.ML良く知らないし(だから処理系の名前をトップに置いても誰もわからないだろう)

2.トップページの次がいきなりはてなになってしまうのでちょっとまずいかな(冒頭でBlog連携について書いているけどいきなりOmo……とかちょっと想像してしまった)

と腰がひけて調査モードに入ってしまった。で、なんだ、MLとか(ここは日本語しか考えていないし、それは最初からの方針だが)無いじゃん、というところからああいう書き方になったようだ。

2は2で考えるべきことではあるのだが、問題は1だ。最初の選択で自分の知識を敷衍させて(それ自体は当然なので構わないのだが)その結果、当初のストーリーに合わなかったあたりからネガティブな表現を導いたというのが理由のようにみえる。逆に、1に引っ張られ過ぎて2を導いていると言えなくもない。2については少なくてもリンク先を読むというアクションを行う人を対象に書いているわけだからあまり考えすぎてもしょうがないのではなかろうか。

というわけで、Gaucheと同じようにさらりとさせることに決める。

#最初からカタログでいくと決めているんだからあまりフォーマットを崩さないようにすべきである、というのがとりあえずの結論。

と思ったが、やはりSchemeとは違うな。もうちょっと微妙に掘り下げたいのだな。

追記:soutaroにっき2005-12-24 06:34で、soutaroさんからMLとSchemeは同列ではないという指摘をいただく(住井さんからの元のTBのコメント欄にもMLという総称を使っていることに対しての指摘あり)。これは了解したうえで、Sunの記事については、興味を持った読者にはまず住井さんのsourceforgeの文書を読んでもらうということで僕は触れないことにします(短い文できちんと触れるほどの知識が無いということも含めて)。

_ るびま0012号

巻頭言、編集後記、そしてえとさんの記事を読んだ。

_ rjb-0.2.5

test/gctest.rb(ひたすら文字列を確保するテストでassertは書いていなかったり)が失敗するのだが、何か忘れてたらしい。というわけで修正。


2005-12-25

_ ハッピーホリデイ

大島さん一人だとネタかもとも思ったが佐藤一郎さんのWeb日記(12/22)にも出てるからこれはネタでもなんでもなく本当のことなんだろう。というか確かにGoogleのトップがそうなわけで。

で、なんで対米追従路線の人たちが真似をしないのかとってもはてな。(追記:当たり前か。日本は25日から休暇が始まる会社はほとんど無いはずだ。もっとも連中は1/2からガンガン働き始めるから、正月は僕らのほうが多少は優雅だが)

#追従(ついしょう)と追従(ついじゅう)で意味が違うのだが(ATOKについてくる辞典)、これは最初から2つの意味/読みが1つの熟語にマッピングされていたのか、それとも誤用から別の意味が生じたのかどっちだろう。

追随ってのもあることから、予測は、

・ツイショウを正しく読めずツイジュウと読む人たちが発生

・ツイズイを正しく書けない人が発生

・両者が結合してツイジュウを生成

_ Rubyでテスト2題

えとさんのテスト重要と、機械猫さんのRubyとTDDはツンデレ

興味深いのは
    えとさん
  • 安定したサービス運営
  • 老人力
に対して
    機械猫さん
  • 保証を与えてくれる
  • Testからのフィードバック
  • 動かせる喜び

と、どちらもコードの保証が1番に来る点だ。えーと批判ではないのだが、というのは理屈は良くわかる(というか多分、僕も必要に応じてそう説明することはありえるし、実際問題として−−テストを作っている場合には−−コミット前後(一応、後もやるのはたまにkbし忘れて悲しいことになることもあったりしたものがあったりしたからだったり)にユニットテスト全実行はデフォルトだからだ)からだが、TDDの最後のDがdevelopmentだということを鑑みると、これは奇妙だよね。

追記:えとさんは別にTDDという言葉は使ってなくてあくまでも「テスト重要」なんだから何もおかしなところはない。TDD脳なもので「テスト」という単語を見るとDDを後ろにくっつけてしまうこっちが過敏なだけですな(w

#こういう場合、真に重要なのは「老人力」と「動かせる喜び」という個人の知見に属するものだろうと思う。

#もっとも、「安定した運用」を保証するdevelopment方法と言えなくもないかも。

追記:というか、安定した運用を保証するのも開発じゃん。

というあたりからKKDさんによる翻訳:「テスト駆動開発についての新しい考えかた」(ただし、t-wadaさんの日記へリンク。というのは「あわせて読みたい」があるからだ)のような意見も出て来るのかな、とか思う。

#突き詰めると同じことなのだが、粒度に差異が出ると考えると良いのだろうか?

むしろ、t-wadaさんの「あわせて読みたい」のほうがプレゼン資料だけに非常にわかりやすい。

#もしも「新しい考え方」を取るとすると、t-wadaさんの「TDD」は「BDD」で、t-wadaさんの「!=TDD」は「TDD」にしておけ、というのが用語的には良いのだろうか。

参考:角谷さんのエントリー:翻訳:「テスト駆動開発についての新しい考えかた」

合わせて読みたいは「RSpecを使おう」

僕は、一度作ったコードをさんざんもてあそぶのが好きだ。というかしょっちゅうこねくり回すし。というわけで、TDDはこねくり回しのための車輪であり、かつ保証のためのハンドルである、という感じが大きいかも。

_ ActiveScriptRuby 1.8.4.0

libにコピー漏れなどありましたら教えてください。

_ ActiveScriptRuby 1.8.4.1

.rb(RubyScriptFile)の登録時にプログラム名をクォートする修正。

引き続きlibにコピー漏れなどありましたら教えてください。

本日のツッコミ(全11件) [ツッコミを入れる]

Before...

_ arton [イテテテテテテテテテテテテ。 \の重複は安全保証(実態は[TARGETDIR]\bin という記述なのだけど、[TA..]

_ arton [あ、今確認したら[プログラムファイル]もあった(見落としてたみたいですね)。次のリリースではそっちに変えます。]

_ craf [ほんとに重箱の隅でしたがありがとうございます。 \の重複って、普通のアプリケーションだと[TARGETDIR]の直下..]


2005-12-26

_ グーグル

ネズミが作って、ネズミが運用するのか……

_ あらしのよるに

子供と見に行った。

釈迦とウサギのエピソードに良く似た話がクライマックス。

プログラムを読むとみんながガブを好きらしい。我慢する役柄というのはわかりやすいので人気を集めるらしい。なるほど。そしてそう書いている人たちは全員メエのことをなんとなく不快に感じているらしい。そんなもんか。普通に考えれば脳天気にふるまってガブの気持ちを逆撫でするようなことを言ったりするのは恐怖を抑えているからだと読めると思うのだが、普通あるいはプログラムに寄稿している人たちはそういうふうには読まないようだ。

おしりについては作画監督がナイアガラのモンローを参考にしたとか書いていて、なんとなく納得。

一番大きながらがらどんみたいなメエだったらどうだろうか、とか。

プログラムでおもしろかったのは、6巻を出した後の読者からの手紙というやつ。「完結編の続編はいつ出るのですか?」 完結編の続編、というのはおもしろい。

ひとりでうんちできるかな (あかちゃんのあそびえほん( 4))(きむら ゆういち)

原作はこれ(家にある)書いた人なのか。

本日のツッコミ(全3件) [ツッコミを入れる]

_ babie [メイの声に関する言及はありましたか?>プログラム]

_ arton [監督と原作者の「絶対、男。恋愛関係ではない」という意見(を打ち消しかねない作画監督のモンローウォーク発言とか)とか、..]

_ babie [ありがとうございます。やっぱ「友情」にこだわったのかぁ。やっぱり本はどっちも成り立っていいですね。 そういや狼に女(..]


2005-12-27

_ ポストモダンの完全なる死

というキャッチを西武がIY(というか7/11というか)に食われてしみじみ思いついたり(しみじみというのはつくものじゃないのに無理につけてみてみたり)。

店舗のサイズから行けばイノベーションのジレンマそのまんま。


2005-12-28

_ 子供とゲーム

ポケモン探検隊が欲しいとか言い出すのでどうしようかちょっと迷ったが、とりあえずオモチャ売り場に行った。数日前、八潮のジャスコでのことだ。

見ると赤と青があって、片方はGBA用で片方はDS用。どう考えたってDS用のほうがおもしろいだろう。

ポケモン不思議のダンジョン 青の救助隊(-)

今買え、すぐ買えとうるさいが良くみたら取り寄せになっている。

だったら、アマゾンで買うことにする。それはそれとして本体はちょっと迷ったが新たに買ってやることにした。で、色はどれが良いか聞いたら白か黒だと言う意外性。青にしろといったらイヤだと言う。ピンクはどうだと聞いたらもうあるじゃんと言う(でもそれはオレのだ)。じゃあ黒と白どっちが良いと聞いたらちょっと逡巡した後に白を選んだ。確かにボタンの部分がきれいだ(アマゾンの売り上げランキングの結果だと、これを書いているタイミングだとシルバー10位がトップで以下、青が23位、白30位、黒51位、ピンク312位、赤がダントツの不人気で1278位。オレの選んだピンクはブービー賞で、子供は中庸)。

ニンテンドーDS ピュアホワイト【メーカー生産終了】(未定)

で、家に帰るとすぐにアマゾン、アマゾンと連呼するけど、どうせ買うなら寄付でもするかと日記サイトからアフィリエイトを探してそこ経由でアマゾンへ。最後の発注ボタンをクリックするまで監視してるのにはちょっと閉口した。で、夜になって誰かが玄関のチャイムを慣らしたら、「わーい」と叫びながら玄関へ向かうから不思議に思ったら、子供だ、5時間でアマゾンから送られてくると思ったらしい。配送ってのはそんなもんじゃないと教えてやったり。

で、ようやく届いた。これで2台目だ。というわけで、マリオカートの対戦モードを試してみることにする。1つしか無いから無理だと勝手に抗議するので、こいつは1つで遊べるはずだ、と教えてやる。

マリオカートDS(-)

対戦モードだとWiFi設定がいらないってことはアドホック通信なのか、とかいろいろ知る。

どうも、MACアドレスの記載がどこにもないと思ったら、ゲームのWiFi設定の中にあるってことも始めてわかった(というか、マリオカート自体、買っただけでこれまで開けていなかったからだ)。

ダウンロードは結構、早い。うまくできてるわ。最初、待ち状態に正しくさせなかったものでダウンロードが始まらなかったのだが、その時、なんかいろいろ向きを変えてるから、どうもIRを使ったゲーム機を友達の家かなにかで見たのかな、とか思ったり。で、やっと待ち受けにできたと思ったら、あっというまに認識してダウンロードが始まり、終わった。

で最初レースをしたらへたくそで驚いた。

次に、風船割りゲームをしてみた。ら、うまくて驚いた。

どうも、COMプレイヤーがいないとうまいみたいだ(つまりオレがへただということか?)。

で、再度レースに挑戦で、COMプレイヤーを無しにしたら、なんかこっちの独走状態。やっぱりへたみたいだ。

というわけで風船割りゲームを死ぬほどやらされた。

うまくできてるな、と思ったのはマリオカート1本をシェアするとキャラクターを選択できない点だ。それでももちろん遊べるのだが(特に風船割りだとまったく問題ない)レースはもしかしたらカートを選択できないのがきいてくるかも知れなかったりするから、そのへんがソフト購入の動機になるのかも知れない。特に、DSを持っている友達の家にDSとカートを持って行ってマルチプレイをするというシナリオだと、その友達もカートを購入したくなったりするのではないだろうか。多分、どうして購入しましたかアンケートみたいなものをやっているだろうから、マルチプレイモードによるプロモーション力みたいな統計は出しているとは思うが、興味があるところ(逆にマルチプレイができるから、仲間で誰かが1つ買っていればOKと思うという可能性もあるわけだし)。

_ ソースコードの文書性

文書性か、変な言葉だが他にうまい言い方が見当たらないのでそう呼ぶことにするが、はぶさんは精力的かつ誠実だなと読みながら、なぜオレは基本的には内製フレームワークを推するのかをつらつら考えた。ちょうどJW2月号を読んだというのもあるが。

ビジネス的な目線からの戦略的な選択ってのとそこから生まれる言質はもちろんあるわけだがそういったことは置いておくとして(というのは長期――10年、20年というスパン――ではビジネス目線には意味がないと思うからだ。逆に言えば3年程度の寿命のWebアプリケーションとかだと別にビジネス目線でも良いと思うが、長期では技術目線でなければ危ない――逆に言うと長期を意識していない/できないものに基盤をおくのはどうかとは思う。2つ引用しているが、これは後者の側だ。自分の会社を持っている人が長期を意識するのは当然なのでここにはそっちは含まれない)、それはやはりソースコードの文書性が重要だと思うからだ。

技術的、ビジネス的に関わらず、固有の語彙というものが企業にくっついていることは知っている人は知っている。どこぞで話題になっていたが「改修」とかもそうだし、以前2chのIスレで見たが「小職」とかのメール用語もそうだし、「.」を「ドット」と読むか「ポツ」と読むか「ピリオド」と読むか「点」と読むかといったささやかなものまで。「D」を「デンマークのデー」とやるか「ドイツのディー」とやるかまで(デンマークだとそのままデーで、ドイツだと英字変換が一度かかるからディーになったり)、いろいろある。

ソースコードはそういう連綿たる固有の語彙の集積物と見なすことができる。つまり文書と同じ性格がある。コード標準なんてのは実はそういうものを、外部から入ってくるものに対して内部の語彙に合わさせる仕組みなのだから、本当は書物から取るのではなく、レガシーソースコードから抽出すべきものかも知れない。そのあたりで、いろいろな流派が出てくるのだ。別にコード標準を唱える人たちが0ベースで考えているなんてことはあるまい。例えばSunのJava標準の源流にK&Rを見ることはできるだろうし、仮に(ちょっと現状では考えられないが)FSFがJavaソースを作るようになったら例の妙なインデントを標準にしてくるだろう。実際にソースコードを単にコンパイラやインタプリタへの入力データと見なすのであれば、コード標準なんて無意味なわけで、人間が読むことを前提としているわけだ。であれば、語彙をその文化に染めるのは読みやすさを考えれば当然のことである。その選択により暗黙の前提(行間だな)を含めることができるからだ。

外部から来るソースコードはその意味で異質な語彙を持つ。

外部から持ってくるものには、交換可能性かまたは予測可能な長期的安定性が求められる。CPUの外部調達−OSの外部調達可能性、OSの外部調達−POSIX標準、Win32の勢力、仮想機械(Java、.NET)、DBMSの外部調達−SQL、言語の外部調達(実は微妙)、サーバの外部調達(CGI、J2EE)。

フレームワークはそのレベルでは枯れていないと思える。というのはハードルの置き方にもよるだろうが、どれだけの長期に渡って変更が無かったかについて見ればまだまだ未熟だからだ(Strutsは3年程度固まっているように見えるので、比較的安心できる)。

枯れていないということは、短期利用には結構なことだが、中期利用以上の場合、そのソースコードをこちらで引き受ける覚悟が必要になってくる。

語彙の異なるソースコードをすらすら読むことは実際にはそう簡単なことではないと思う。というか、外部から持ち込まれたソースと、内部で作られたソースでは読むときの覚悟が(観察していると)異なるように見える。

#パラメータが多過ぎるのでここまで。

追記:単純な結論=しのごの言わずにソース嫁ということだ。読んで合わなきゃ捨て、合えば拾い(あくまでも長期的な運用を考える場合ということだけど)。


2005-12-29

_ キングコング

子供はおっかないからイヤとかぬかすししょうがないから一人で見に行った。オリジナルはもしかしたら子供の頃にテレビで見たかも知れないけどわからない。その後のリメイクは見たこと無いしたがって、キングコングの記憶というものは無い。

で、予想もしない始まり方。酒を捨てたりしているしボードビリアンが出て来るし、ブロードウェイだし、どうも禁酒法時代っぽい。デコな字体。

カールっていう名前のプロデューサ(映画の出資者を募る人)と字幕には出ていたが自分でカメラも回すしロケ地も決めるし指図もするからディレクタでもあるというかが主人公。

この男、見てくれはオーソン・ウェルズで大言壮語、演説口調で見てきたような夢を話すし(出資者に謎の島でのロケの話を語るところ)、平然と嘘をつく、結果的に人をだます、だから中身も間違いなくオーソン・ウェルズだが、カールという名前からはこの時期にドイツあたりからハリウッドへ来た人たちのことも彷彿とさせる。というか、シュトロハイム以外のナニモノでもないお金の使い方、気に入ればえんえんとカメラを回してしまう。映画グリードだ。

でもやっぱりオーソン・ウェルズかもというのは、闇の奥をウェルズは撮ろうとしていたからだ(で、予算の関係で失敗)。しかもFPM(FPはゲームのFPSと同じ)だけどそれは関係ないか。

動物をえんえんと撮ったフィルムを見せられた出資者たち3人の協議の結果、2:1で没が決まる。だが、マラッカだかボルネオだかの近くにある謎の島にどうしても行きたい、そこには人々を驚かせる映画のネタがある、どうしてそこまでロケにこだわるのかは良くわからないけど、リアリズムが好きなのだろう(リアリズムが好きだとリアルタイムな撮影を行うせいでフィルムをとんでもなく消費するから筋は通る)。

かくしてフィルムを持ち逃げして逮捕寸前にアドヴェンチャ号はまだ見ぬ髑髏島へ向かって出発するのであった。船は動物密輸船、仲間は撮影技師と脚本家(別の主役。映画より劇が好き、なんか記憶に引っかかるな)、活劇男優(谷に助けに来るシーンは素敵だ。自分のポスターを船室にはる。いたずら書きされた口髭にちょっと惹かれてみせる、これもポスターからちょっと記憶に引っかかる)、女優(別の主役。ボードビリアンの芸が身を助け)、助手、他にも。船長のナマリになんかあるのだが不明。フィルム持ち逃げか。最近だとゴダールのリア王がそうだったと思うけど(劇中のフィルム持ち逃げだとフォーエバーモーツァルトがそうだ)、それは多分関係なく、この時期にもなんか引っかかるが思い出せない。

すさまじい廃墟(実は原住民がいるから生活の場なんだけど)。カメラを回す。

恐竜がうようよいる場所を見つける。カメラを回す。

で、仲間がどんどこ死ぬ。そのたびにカールは「絶対にすごい映画になる。儲かる。やつの妻子に分けてやろう、映画の完成、それが一番の供養だ」というようなセリフを助手に言う。最初は助手は感動する。2回目にはちょっと戸惑う。

だが、せっかくのフィルムはキングコングに橋がわりの木ごと谷底に落とされたおかげでおしゃかになってしまう。カメラが壊れてフィルムが光を浴びてしまったのだ。

もう映画は無い。

しかし起死回生の手段を考えつく。船長にコングを生け捕りにして見せ物にすることを提案するのだ。

が、作戦は失敗。網を破ってコングが追いかけてくる。しかしカールはコングを銛で串刺しにしようとする船長を止めて、捨て身でクロロホルムの瓶をコングの鼻に叩きつける。捕獲成功。

で、ニューヨーク、第8の不思議として興行が始まる。出資者(元)と握手を交わし、名士たちにほほえみかけるカール。得意だ。しかし助手の顔は浮かない。理由は、脚本家がやって来たときに明かされる。「みんなに見てもらおうと言って、映画の値段で公開してるんです。作ったものを自分で壊してしまう」コピーが全米で公開される映画の値段で単館興行をやったら、それは儲かるはずはない。すごいやつだ。金の重要さは身にしみているし、常に儲けを考えて映画を撮っているにもかかわらず、本当にしたいことは、みんなにあっと驚くものを見せてやることなのだ。ソースを見せる精神の持ち主である。

最後、死んだコングの前でカールはつぶやく。「美女が野獣を殺した」最後まで映画のストーリーを守るのであった。

きっと映画を撮るチャンスは回って来ないかも知れないが、英語教材の声として、あるいはどうでも良い映画を顔つきだけで名作に変えたりして、名前を残すことだろう。

クレジットの最後にオリジナルへのリスペクトが出る。

その他のエピソード。クルー。両腕を折られ檻の中に隠れて密航していた手癖が悪い(いきなり脚本家のペンを盗んでみせる)青年(マストの上の見張り役)と彼を守る黒人の親父(軍隊では鬼軍曹にしごかれた)の仮想親子関係(勉強しろに対して、図書館から盗んだ闇の奥を見せるとか)。

#儲けを度外視してとんでもない映画を撮るといえばコッポラ(いくらなんでもナスターシャキンスキーが綱渡りの映画で集客できるはずもないのに湯水のようにお金を使ってセットを作ったりとか)で、これも闇の奥つながり。それにつけても闇の奥は底が知れない。

闇の奥 (岩波文庫 赤 248-1)(コンラッド)

#とんでもないものを採算度外視でみんなに見せたいという狂気を秘めた監督が主役の映画がとんでもないものをみんなに見せる映画なのだからすごい話だ。実にとんでもないものを見てしまったという気持ちになる、気持ちが良い、映画は見せ物だという原点に立ち返ったかのような(でありながら最上級のメタ映画でもある)素晴らしい映画であった。

キング・コング プレミアム・エディション [DVD](ナオミ・ワッツ)


2005-12-30

_ チキンリトル

リトルがあまりにリトルだから間違いやすいが(妻なんか小学校の話だと思って見ていたそうだ)、でもこれはハイスクールが舞台だ。

で、どこかで読んだことがあるナード+フリーク対Aクラスという構図。

ドッジボールの試合なんか教師が、人気者チームとそれ以外に分けたり。

これはディズニーの家族映画だからちょっと奇妙だ。

1. このての映画を見に行くのはナード+フリークなのか?

2. 人気者チームは映画の中で結局はこてんぱんにされるのに、それでもこういった映画を見るのか?

そう言えば、

卒業白書 [DVD](トム・クルーズ)

にしろ

バック・トゥ・ザ・フューチャー [DVD](マイケル・J・フォックス)

にしろ、ハイスクールを舞台にした映画ってのはだいたいがこういった図式になってる。

とすると

3. フォーマットなので誰でも楽しめる

ということなのかも知れない。

と思ったが違うかも知れない。卒業白書は忘れてしまったが(ベッドの上でギターの弾き真似するところと、地下鉄ラブくらいしか覚えてない)、バックトゥーザフーチャーの場合、人気者チームというよりは不良グループという形式だった(親父がナードなのはともかくとして)。

すると、1なのかも。それは狭そうなマーケットだなぁ。

というか、ディズニーだから家族向けという前提が間違っているのかも。それはそれとして佳作ではあった。オズの魔法使いから借用したようなビッグボイスは面白い。とうもろこし畑の恐怖とか(ここから想起されるのは、キングだったりフィールドオブドリームスじゃないほうのケビンコスナーでパーフェクトワールドだ)。もちろん宇宙戦争のタコ型宇宙人とか。

魚が最高。宇宙服みたいな中に水を満たしたヘルメット。言語の魔術師。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

_ arton [それはあるかも。]

_ むらまさ [フリークスというよりジョックス(スポーツ野郎)でしょうか?]

_ arton [ポールグレアム本でナードとフリーク(ロッカーとからしい)は比較的近い関係とか書いてあったので、ちょっと読み間違いだと..]


2005-12-31

_ 今年の映画を振り返って

1位:狸御殿

おもしろかった

オペレッタ狸御殿 プレミアム・エディション [DVD](チャン・ツィイー)

2位:キングコング

すごかった

キング・コング プレミアム・エディション [DVD](ナオミ・ワッツ)

3位:アワーミュージック

気持ちよかった

アワーミュージック [DVD](ナード・デュー)

というところが特に印象的。

4位:星になった少年

象の大行進

星になった少年 スペシャル・エディション [DVD](柳楽優弥)

5位:マダガスカル

キングジュリアン

マダガスカル スペシャル・エディション [DVD](ベン・スティラー)

6位:煙草と珈琲

オーティスレディングを聴きたい

リスペクト ~ヴェリー・ベスト・オブ・オーティス・レディング(オーティス・レディング)

コーヒー & シガレッツ (初回限定生産スペシャル・パッケージ版) [DVD](ロベルト・ベニーニ)

7位:皇帝の行進

こないだ王様ペンギンの様子をテレビで流していたが卵を落としても凍りつきもしない(そもそも地面が土と草だ)のに、敵に襲われると平然と落として逃げてしまって取り戻したりはしなかったり。もし、どちらも本当の姿を撮影しているのだとしたら、過酷な状況のほうが大事に育てる/育てようとする、ように見える。で、それが真だとしたら、豊かさと学校の腐れかたってのは相関関係にあってもおかしかないなと思ったり。

皇帝ペンギン プレミアム・エディション [DVD](ドキュメンタリー映画)

8位:王女とロバ

1位でも良いけど、あまりにもロバストだから8位。正8面体。

短篇(ミレルとかシュヴァンクマイエルとか)は除く

クルテク もぐらくんと森の仲間たち Vol.1 [DVD](ズデネック・ミレル)

・その他:SW3、ハリポタ、コナン、ロボッツ、サメのしっぽなんかも見た。意外と少ないな。

それよりもベルリンバレエのリング

_ ASL

多分、世界で最後のActiveScript。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|

ジェズイットを見習え