トップ 最新 追記

日々の破片

著作一覧

2003-08-01

_ 忘れる

読み返すと、典型的なおばかをしてるな。

1.InvalidCastExceptionで死ぬ+放置でタイムアウト

2.パケットを調査(Content-Lengthが変+パケット出てない)

3.Content-Length変=パケット生成中にInvalidCastExceptionで飛んでるんだろう(な、わけないじゃん。例外上がってるのに)→シリアライゼーションのどっかで引っ掛かってるんだろう→Flags属性付きenumはっけーん

4.intに変更

5.InvalidCastException止まる(しかし、偶然の産物なので、4で修正できたわけではない)→忘れる

6.放置調査→RSTはっけーん

7.RST受信後のリクエスト対策調査→プロクシを継承してConnection:Closeにする

8.InvalidCastExceptionさいげーん

9.パケット調査(レスポンスがSoapResponseじゃないことはっけーん)

3.がそそっかしい。あの時点で9.で再発見しているパケットを見ているんだから、InvalidCastException自体とenumは無関係と判断すべきだ。

しかし、なんなんだろう? 同一バイナリなのに今はちゃんと動く。ただスタックトレースには見たこともないクラス名があるから、名前(Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1)から想像するとSoapProxyが実行時にデシリアライゼーションクラスを自動生成していると推測できる。であれば、同様にシリアライゼーションクラスも自動生成(ソースじゃなくてアセンブリの)されるんじゃなかろうか。で、その自動生成の過程に得も言われぬ問題が隠されているとか。


2003-08-02

_ セゴンフレ

なんか、飛んでも無いことになり始めてる気がするのは、逆にうまくいってるからに違いない。って言うか、ここ2週間あたりの動きを見てれば明らかだからなぁ。

_ 俺様ハートビート

何が悪いのか
 DatagramSocket cli = new DataramSocket();
 cli.setReuseAddress(true);
 cli.bind(assignedPort); // bang!
調べる気になれないので、当初の予定を急遽変更してクライアント(要求投げる側)ポートはシステムアサインにしたくせに、
 DatagramSocket respSock = new DatagramSocket();
 DatagramSocket svr = new DatagramSocket(assignedPort);
 svr.receive(ayt);
 ...
 respSock.send(new DatagramPacket(stillAlive, 0, stillAlive.length, ayt.getSocketAddress());
なんてやってしまっていたために、はまってしまった。
 respSock.send(new DatagramPacket(stillAlive, stillAlive.length, 
               ((InetSocketAddress)ayt.getSocketAddress()).getAddress(), assignedPort);
にたどりつくまで約3時間。いささか疲れてるかも。 さすがに、UnitTest派生のテストケースは書けないしなぁ。
#その場合は、printfデバッグが基本でしょ、やはり。
#追い討ちかけたのがassignedPortでフィルタリングしてたからってのも大きいな。

_ だめぽー

無引数のコンストラクタ呼んでる時点でだめですなぁ。ちゃんとドキュメント読みなよ>オレ。

だってさ、引数付きコンストラクタが明示的なバインドを示すんだから、無引数はバインド無しだと思うじゃん、直観的に。

じゃあ、#bind呼ばなくてなんで動くのよ? そりゃ、#sendとかの呼び出し時に未バインドを判断してバインドすると思うじゃん。−とAPI決めたやつは思わないということね。

_ 考えれば考えるほどだめぽー

TCPに毒されてるじゃん。なんで、送信用に別のソケットを用意してんだ?

月曜日に復讐戦だな(動きゃいいとは言え、リソース(ポート、FD)の無駄はやめよう)。

_ キリク

2回目の回の10分前くらいについたら、満杯で入れず。しょうがないので、3回目の整理券を取り、三越地下2Fのくるくる回るお菓子量り売りとかに行ったり、高層ビル3Fのカフェテリアで妙に安くついた昼飯を取ったり。

3回目はそれでも空席があり、4回目はほとんどガラガラに見えた。大丈夫かな。

予告編で熊の接吻を見る。見たいけど、子供連れてくのはちょと無理かも。


2003-08-03

_ 分類

ネタなのか本当なのかわからないけれど、安能務の「春秋戦国志」によると
一般に中国の学者には妙な分類マニアが多くて、しかも分類の仕方が例えば「飼犬が逃げて野良犬になった犬」を「犬」の一種に挙げたり、あるいは動物園などでも、片脚のない(切り落とした)鶏を「隻脚鶏」と標示して「鶏」の一種に数えるなど−−と妙な分類をする
らしい。 (この条りは、従来の諸子百家の分類−法家とか儒家とか−に大した意味はないから拘泥しないほうが良いという趣旨で出てくる)

_ 相変わらずまとまっていない

今のところ、有効なようだな、と感じているのは、一緒に(3〜4人くらいの規模)で、実装方法について話し合うという方法。前提は、実装後のイメージ(ユースケースと同じと考えてよい)と、仕様、システムの全体像(というところで、大規模では無い。とは言え、大規模ならサブシステムに分割できるから、その場合はサブシステムの全体像)をメンバーが共有していること。

で、ブレーンストーミングしながら、3〜4時間くらいで静的モデル(ただし抽象度は比較的高い)を完成させる(時間が不足した場合、こちらで導出してしまうが、導出過程は詳説する。すべてが正しいわけではないので、異議はその場で出してもらい、逐次修正をかける)。

で、散会、適当に切り分けた持分の実装に入る。2〜3日(複雑度によっては長引くし、最初の設計がタコだと1日で問題点が出てくるのでもっと早い)でとにかく結合させ、元のモデルやインターフェイスの問題点を出し合い、リファクタリングに入る。最初の分割に配分ミスがあれば、分担を逐次変えていく。で、こういった方法で、実装範囲を段々広げていくと、3ヶ月後くらいには(個人差は当然あると思うけど)、だいたいそれなりに設計できるようになってくるように感じる。

プロジェクトの最初の段階では、やはり設計をどうするかが問題(オブジェクトをどう分けて組み合わせるかってのは永遠のテーマ)だし、システムはわかっていてもパターンなどを知らないメンバーがいるので、相当、有効度が高かったと思います。完成したソフトウェア内のバラ付きは確実に減ったと思う。

_ 追加

この時点では、コミットは早めにするのが原則。大きな単位でのイテレーション時に必要性を感じたら1.0として仕切りなおすので、とにかくどんどんコミット。遅いと思ったら催促する。当然だけど、この時点で作ったテストケースは(インターフェイスが丸変わりしない限り)その後も使われる。

_ こうもりツアー

医者に行ってたら時間がかかって、上野東照宮のあたりで行われる蝙蝠探索ツアーに行きそびれた。くそー。

_ 大前提

そう言や、Cとかで構造化プログラミングをしたことがあるってのがさらに前提だった。本当の初心者は最初のうちは設計討議から切り捨てて、分担決めてから配分。独立度が高い部分(モデルのガリのガリみたいなとこ)を与えてよろしく。

でもさ、テストケースそれ自体がモデルを操作するコードの記述になるから、いやおうなく、オブジェクトを扱うプログラムの書き方の練習になるし、オブジェクトが内部に持つ情報をどう引き出すかとかを考える訓練になると思う。というところから、とにかく、ターゲットと同時にテストプログラム書かせるってのは重要だと思う。

とにかく、この場合(も何もなく、絶対的に)テストプログラムを書く/書かせるってのは重要だ。とんでもなく勘違いしてるテストプログラムもあったりするんだけど、それでも書くことが重要。

書くことが重要というのは、必ずしもすべてのケースの記述が必要だということを意味しない。粒度の問題で記述できないのなら、それは問題だし、普通はその問題に気付く。UIがからむのなら、それは捨てる。それでも、実は一切書けないということはありえないから、とにかく大して意味がなくても作っておく。

_ UDP

bindは本当に必要なのかな? StevensのTFTPのサンプルコードじゃbindを呼んでるけど、思い返せばPathway使って最初にUDP使ったプログラミングした時、PathwayのWinsockだとへたにbind呼ぶとよからぬことが起こったんで、ウェルノウンポート持つんじゃなければbindしないですませてきたんだったような(と書いて思い出してきたけど、Pathwayのバグに影響されてるだけじゃん)。でも、これまでそれでいけてたんだけどな……

うわー、勘違いはっけん。

Note If a socket is opened, a setsockopt call is made, and then a sendto call is made, Windows Sockets performs an implicit bind function call.

(MSDN, sendto)

これまで、libsock使ったUDPじゃウェルノウン側だけを作ってきたから、全然気付いてなかった。MSDNには、Windows Socketsの動作と書いてあるじゃん。

#というわけで、無引数コンストラクタで暗黙のbind呼び出しするのは十分に根拠があるということだ。

_ 蝙蝠ツアーリベンジ

8/15,16夜間動物園公開の一環として蝙蝠探索をまたやるそうなので、今度こそ行く予定。

都庁の裏にもいるってことだが、どこらあたりのことだろう?


2003-08-04

_ Impl

DatagramSocketImplって抽象クラスだったのか。

とりあえず、送信用ソケットの無駄作成は解消。

_ 商工会議所

という場所には、われわれが考えが及ばない種類の人たちが働いているという話を聞く。言葉が違い、食べ物が違う。しかも自分が正しいと考えている。それじゃあ、どうしようもないね。

_ 時系列

時系列に沿ってないと理解できなくなる(多分、本質的な能力の欠如ではなく訓練されていないからだと思う)人がいるのは、確かだ。最初に意識したのは、題名は忘れたがバレリカプリスキが出てくる半分ポルノ半分文学みたいな映画を見たときだ。その映画そのものは、非常に明解なのだが、プログラムを買って(まあ、半分ポルノだし)読んでいたら、そこに書いてる評論家がそろいも揃って難解、難解と何回とも無く繰り返していた。最初はネタか、それともポルノをポルノと呼ぶのをためらうために高尚の証として難解と呼ぶのかとか考えたが、どうも、その後の他人の会話や別の評論とか見てもどうも難解らしいということがわかった。ポーランドの歴史を知らなければ多少は難解かも知れないが、歴史の難解さなんていうものはたかが知れている(民族紛争がからんでないし)ので、どうやら、監督の語り口が原因なようだと結論した。

現実に生きている人間は思考の中でしか時空を往来することはできないから、単純に時系列に沿ったもののほうが理解し易いということは推測できる。しかし、映画の語法として、回想が必要な局面は絶対的にある。ひとつのわかりやすい方法は、色を変えるという方法で、たとえば我が友イワンラプーシン(かな)では、現在がカラー、30年代を白黒で表現する。この方法だと切れ目は誰でもわかるだろう。アイリスを使って明らかに異なるシチュエーションへの移動を明示的に示す方法もある。

そういった視覚に訴える明示的な切れ目を取り払って、単にカットが異なるだけで時制を変化させると、不注意な鑑賞者は、突然、取り残されてしまい難解だと感じるのだろう。

折角の映画だから、本質的には邪道だと思うが、しかし、もっとも有効なのは登場人物に「今から30年ほど前のことだけど……」と言わせて、フェードアウト/フェードインして雪か何かを降らせて、カメラがひくと、そこは暖炉が燃える室内、子供たちがクリスマスツリーを囲んで……というような表現。こういうのが好きな人は、ソースにコメントを入れろと言いたがる。

_ 言葉

だれでもすきなものを世界のどこからでも持ってきて使えるのがグローバリゼーションだろうか

かって、収奪について真剣に考えて取り組んだ人が、とまどっているのか、怒っているのか。彼らが作った文化の上澄みを、彼らに何も与えることなく利用する、それを文化的収奪と呼ぶ。ハッカー文化とビジネス文化といったものに敷衍することも可能だろうけど、最初にあるのは、モネやゴーギャンやピカソだ。

フェルメールでもなく、ベラスケスでもなく、新たな表現、独創的な表現を求めていき、たとえば浮世絵を眺め、そこに描かれた対象ではなく、それを描いた文化でもなく、その技法を自分のものにする。そうやって印象派が独自の表現を手にし、画壇を中心に市場が動く。しかし、北斎は何も手にできない。それでも、北斎は、自分が書いたものでその時、報われていたのだ。ならばこれはコモンズとして考えて良いのだろうか?

文化人類学者が、どこかの部族の祭礼をビデオに収めて帰国する。その国の芸術家がそのビデオから技術を学び、新たな表現を獲得して自分の作品を作る。彼は成功するが、元の部族は何も得ることは無い。これは収奪か、それともコモンズか。コモンズとはそもそも収奪のきれいな呼び名ではないだろうか?

逆向きのダブルスタンダードがあるかも知れない。しかし、格差が格差として厳然としてある以上、それを埋めることを考える必要はないのだろうか?

農産物にはフェアトレードがある。フェアトレードのコーヒー豆も、買弁経由で商社から買うコーヒー豆も、同じコーヒー豆だから、だまされても同じことだと思ってフェアトレードのコーヒーを飲む。

しかし、先進国の見識の広い芸術家によって洗練された作品と、元の祭礼ではほとんどの場合、同じとは言いがたい。むしろ海を渡った浮世絵が特殊なのだともしかしたら民族的な感情によるのかも知れないが考える。

結論は出るはずも無く、しかし、それでも変わっていく。


2003-08-05

_ 1.8.0

とりあえずGET。

_ 1979070

お疲れ様です。

_

自転車で帰れる雨じゃないよなぁ。弱ったなぁ。

EDCに行ってりゃ良かったのかも。


2003-08-06

_ 1.8.0

すげー、全然、ウォーニングが出ないや。

rdtoolは入ってないのか……?

_ EDC

ねますた

でもいってよかたですた

_ DirectX9とATI All in Wonder Rage128Proc

テレビが見えなくなる。チューナーが死んでる。

何もしてない? そんな馬鹿な……

昨日は見えてて、今日は見えない?

まさか……(おれだよ、おれ)

Windowsの復元が役に立った日。

_ Background Intelligent Transfer Service

略してBITS。

OLEViewからTypeLibを取り出して利用する。MSDNマガジンにも出てたとこのこと。


2003-08-07

_ 人出

EDCはなんか閑散としてるような気がしたが、TechEDはどうだろう?

_ フリージア

買った。読んだ。

_ 人出

さすがに、結構来てます来てます。しかし、例年の如くクィーンズなんちゃらの食堂に長蛇の列はできず。

_ .NET Framework 1.1変更点

TODO:Public編の追加情報を作成すること

メモ:

1.ASP.NET自身によるXSS脆弱性防御(検証要) しかし、思い切ったことを……(<s>検証とかはできなくなるんじゃないかな)基本的には良いことではないかと。

2.SoapHeaderAttribute.Required(ただしfalse例しか出していないので無視しても良いかも)

3.暗号化パスワード (いらないかも−−.configについて言及してるから必要かな)

4.ASP.NETのコードアクセスセキュリティ(ホスティング用だと思うが、おもしろいから言及する)

5.HttpPostLocalhostによるリモートデバッグ制御について言及したほうが良さそう

6.Windows2003Server(って言うかIIS6関係)取り合えず無視の方向で。しかし、これは良さそうだな。

って言うか、ヴァルネラビリティは日本語では「ぜいじゃくせい」と読みます。誰か教えてあげてくれ。


2003-08-08

_ TechED

おわりますた。なんか、新しいことはほとんどないし、安定期なのか中だるみなのか。

H君への手紙M生とイニシャルが同じだな氏の話が平易になり、眠る人が減れば減るほど、来客数も減るというわな。

_ ロングトランザクション

画期的な仕組みを提供してくれんのかと期待したら、別にそういうこともないような、っていうか無理だろう。気を失ったときに、COM+の何かについて話していたが。

_ データ転送

値オブジェクトに検証用ビジネスロジックを持たせたままやり取りすればクライアントとサーバそれぞれでロジックを持たない。そりゃそうだが、あまり役に立たない提言だな。

_ APTC

昨日のセッションで、APTCが1.1からとか言うんで、アンドキュメンテッドだったか? と思ったが、なんのことはなく、ASP.NETでホスティング用にコードベースセキュリティを入れたから、System.WebにAPTCを付けたというのが真相のようだ。ヴァルネラビリティを−略−なだけに説明も抜けてるな。

System.Web.HttpUtilityにAPTCが付いてなくてHtmlEncodeやUrlEncodeがスマートクライアントから使えない問題が片付いて良かった良かった。というか、System.Text.RegularExpressionにもAPTCが付いてなかったのか……

気付かなかった。

#なし崩しが始まっていつもの道をたどるか、それが見所だ。

_ 強化ガラス

なんだこりゃ?


2003-08-09

_ 情報のビット数

ネズミが集まって相談したのは、猫の首に鈴をつけるといいんじゃないか? ってことだ。誰が首に付けるかってとこで会議は紛糾して(って言うか、無言状態になって)終わるわけだが。

この場合、鈴の情報量に何ビット必要だろうか? 極端に言えば、鳴ってるかどうか、HighかLowかで1ビットあれば十分なのだ、ネズミ達にとっては。

なかなか嫌味な趣味の持ち主だと思わないでもないが、江戸時代の豪商は、商人だから着物は木綿と義務付けられてたもんで、しょうがないから裏地を絹にしたり褌を絹にしたり、いろいろ見えないところに気を使ったそうだ。

何を着ているかというのはプライバシーに属することだ。世の中にはいろんな趣味の人がいるし、そういうほうが面白いだろう。

誰であるかは特定できなくても、何を持っているか/着ているか/考えているか(は無理だな)っていうようなことが特定されるだけで、なかなか愉快な社会になるだろう。しかも、明らかなデジタルデバイドがあり得るし。

しかし、IDの暗号化というのはどういう方法を考えているんだろうか?

何しろ、個人情報を特定できないたったの96〜128ビットだそうだから、単純に考えるとAES-128とか。秘密キーだとしたら読み取り装置をどう作るんだろう。

当然、運輸業、倉庫業、流通業といったところで稼動するリーダが、そのIDを判別できなければ意味がないわけだ。

こんなユースケースを聞いたことがある。靴屋の倉庫というのはとても広くて同じような箱が並んでいてそりゃ、面倒な場所らしい。そこで店頭で在庫を聞かれた商品に該当するIDを突っ込んで倉庫に行ってボタンを押すと、「ここだよ」と答える。

それが可能だとしたら、単なる個体IDだけではなく、たとえばMACアドレスが製造者コードと製造コードの2種類から成り立つように、製造者コード、品種を示すコード、特定商品(群)を示すコード、その商品群内での個体コードといった複数種類のIDから成立するのだろう。そうなっていれば、店頭にある靴をまずリーダにかけてIDを読み取り、倉庫に行ってその仲間を探す(マルチキャストのプロトコルがあれば良い。商品群内個体コードの部分のすべてのビットを立てるとか)ことが可能だ。

_ 技術的な興味をやっと持てて来たぞ

調べてみようと思ったらUCCなのか。あそこは規格屋だから見せてくんないんだよね。

良く書けてる概念図

AutoIDセンター

当然のように参加企業だった。問い合わせるか。って言うか、これも9月だな。

_ EPC

と思ったけど、思い立った時に見ないと忘れちゃうから、今、見よう。

こんなんだ。大体予想どおりで、企業を示す28ビットのEPC Managerコードに続けてObject Classっていう24ビットのコードがある。

_ JavaScriptか

仕様書をダウンロードしようとしたら、ログインを求められる。しょうがないので登録しようとしたら、JavaScriptだよ。面倒だな。

...

Eメールアドレスが違うとか言われた。面倒なことになりそうな予感……。

_ ゴマの灰

どうでも良いが、ITProには、妙に「ごま粒」という呼称にこだわる栗坊がいるな。正確な名称ではなく、明らかに誤解を誘う名前をつけて誘導しようとしているんだろうか。

ICという言葉は、誰にでも電子的な操作が可能なうさんくささが付きまとうから、それを「取るに足りない」の代名詞のゴマと言い換えることで無害なイメージを植え付けようとしているんだろう。

だったら、「ケシ」と呼ぶべきだ。ケシ粒のほうが、あんぱんまん(正義の味方、子供の味方)、芥子の花(血よりも赤い)、阿片といった複数のベクトルがあるぶんだけ、おもしろい。

_ 何を持っているか特定可能

だから、VAIOノートだって主張してるだろうが、ごるぁ。

_ 学校の持ち物検査

購買時に捨てる公開用タグと、Webバグみたく気付かない人用の秘密タグの2つをあらかじめ仕込んでおくとか。

_ 用語の問題

Radio Frequencyタグと呼ぶのと、RFタグと呼ぶのと、ICタグと呼ぶのと、ゴマ粒チップと呼ぶのでは、全然受け取るイメージが異なる。

日本ではラジオは単なる受信機だが、英語じゃ、発信側を意味するんじゃなかったっけな?

その含意をあらわすと日本語としては、発信タグとか、無線発信チップとか、無線発信タグとかと呼ぶべきだろう。消費者に正確な概念を伝えるためには。あるいは、無線識別子発信装置とか。

正確に意味を伝えると、あらぬ妄想をするだろうから、口当たりの良い言葉に言い換えて本質を隠蔽する。本来の意味を隠蔽する言葉を利用している場合、基本的には後ろ暗いところがあると推測するのが筋だろう。

_ 消費者の手元にあっても意味があるもの

自動車にRFIDがついていたら、リコール対象車の判定ができそうだな。どこに何があるかを教えてくれるというのは、目が不自由だったりすると便利かな? でもそのためのインフラがまず必要そうだな。

_ ジラーチ

子供とポケモン。これで、ルギア、セレビィ、ラティアスとラティオスと4本見た勘定になる。はっきり言って、どれもこれも子供を舐めきってるとしか思えないが前回からのロケット団と関係無いシリーズになってからはまあそれなり。とは言え、相も変わらずボスキャラが出てくると自然が壊れるところは、どうにかならないのかな。それはそれとして、いつも比較的楽しめる併映のミュージカルは今回はあまり好きじゃない。って言うか、ルギアの時のが特別におもしろかったのかも。

しかし、いきなり入力可能なエネルギー量を考えもせずに偉そうなことを言って失敗すれば、そりゃだめだろう。

_ 手品

手品師つながりで思い出したが、昨年のTechEDの1番の収穫は、生でナポレオンズが見れたこと。特に、回転する首は最高。やはり今年は予算が削減されてるよな。

_ 子供を舐める

とは、言え、別れを常にきちんと描くってのはポケモンの良い点かも。

1000年たったらまたおいで。

_ ASR1.8.0.0

にゃすさんが1.8対応を終えられたので、こちらも作業開始。でも何を同梱するか、まだ決めかねてる。

Swin、VRuby、UConvは必須として、RDtoolはどうしようかな? もともとWin32で素直に動かなかったという経緯があったわけだが。

RubyWinも微妙な感じだし。RDEは別に同梱しなくても済むけどMSI管理パッケージという意味では入れさせていただいたほうが良いのかな。リファレンスは非日本語環境の人に不利過ぎるのでRefeにしようかとか。自分のことだけ考えるとMeadowとrindexを同梱するとか。

ASRがうさんのとこの正規版と違うのは、自分のためだというのを別にすると、1.MSのインストールシステムを利用、2.ASRのレジストリへの登録というかASR自体がRuby抜きでは意味がない、の2点なわけだから、1.の部分での利便性というのは十分に活用したいわけなので、入れられるものは入れてしまいたい。しかし、そろそろオレ様GDとTkは捨てたいんですが。


2003-08-10

_ 1.8.0対応

済んだ。StringValuePtrとかへの書き換えは終わっていたけど、rb_obj_initが変わってたのにはちょっとはまった。allocation_framework使ってないけど大丈夫かな。

結局、SWin、VRuby、Uconvしか入れなかった上に、Uconvをバージョンダウンさせてしまったけど、まあ仮状態なので。RDEってまだ再配布禁止だったのね。

オレ様GDとMandelは削除。

swin/testrunnerとか、hta/testrunnerとか作ったら嬉しい人いるかなぁ。

_ 追加

ここに書くなよ。Tcl/Tkのstub設定面倒くさいから83固定。

って言うか、なんで勝手にやってくれないんだろう? を調べるのが面倒でその気に少しもなれないから83固定。

_ これはまずいな

zlibは提供すべきだから、早くも1.8.0.1決定。

_ 気にしだすと霧が晴れない

zlib.so作った。zlib.dllもパッケージに含めた。iconvも入れようかな。opensslが微妙過ぎ。

入れる気無し:curses, dbm, gdbm, io, pty, readline, syslog,

_ iconvやめた

iconv.dllだけで872KBもあるじゃん。

_ 何やってんだか

結局、stub版tcltklib.soを作成。

extconf.rbのpathsがUnixワールド決め打ちなので修正。

extconf.rb内のfindlibraryで使用している名称をすべて

find_library("tcl#{ver.delete('.')}", func, *paths)

から

find_library("tclstub#{ver.delete('.')}", func, *paths)

のようにstubミドルフィックスを追加。

で完了。

_ iconv

やっぱり入れようかな。しかし、README.woe32ってのは厨房だな。

_ 補足

上の「何やってんだか」って読みようによってはextconf.rbの作者に対して言ってるみたいだけど、そうじゃなくて、更に上で「Tcl/Tkのstub設定面倒くさいから83固定」とか書いた先からやってる自分に対して言ってるだけです。

_ 新機軸

スタートメニューへ登録するものを変えてみた。9xで、どう動作するかとかはまったく不明。あと、ドライブまたがった場合も。

というわけで1.8.0.1


2003-08-11

_ 1.8.0対応まとめ

文字列については色々出てるから、それ以外について。
  1. rb_protectなどに渡す関数のキャスト
    • 1.6)rb_protect((VALUE(*)(void))InvokeRuby, ...
    • 1.8)rb_protect((VALUE(*)(VALUE))InvokeRuby, ...
  2. statがdefineされた(Win32のみ)
    win32.h: #define stat(path,st) rb_w32_stat(path,st)
    変数名などにstatを使用しているコードは修正が必要
  3. ruby_errinfoが一級市民化(ruby.hで公開)された
    $!から引っ張っている場合、ruby_errinfoに変更。
文字列では、次の点に注意
  • StringValue*のプロトタイプで引数は&が付く=左辺値の必要がある。
    ASRでは、m_strBacktrace = STR2CSTR(rb_ary_entry(bt, 0));のような記述を
     VALUE b = rb_ary_entry(bt, 0);
     m_strBacktrace = StringValuePtr(b);
    
    に修正する必要があった。
なんか良くわかんなかったやつ。動かなくなったのでbiorythm.htaサンプルを修正した。
  for z in (dd - bd)..(dd - bd + display_period)
    ...
  end
を、sample見て
  (dd - bd).step(dd - bd + display_period) do |z|
    ...
  end
と修正。もともとこのあたりの構文は利用してないので、何が変わって挙動が変更されたのか不明。
と書いてから確認したら、"cannot iterate from Rational"とエラーが出てるから、そういうことらしい。

_ AutoIDセンター

コンファメーションが来たが、なんのことなくリンク間違いですなぁ。しかし、いちいち「ようこそXXX。もしあんたがXXXじゃなければ、ここをクリックしろ」っていちいち出すのはやめれ。


2003-08-12

_ 9x

やっぱりだめですか、しょぼん。

Visual Studio Installerをいろいろいじってたら、スタートメニューに登録するショートカットに対して渡す引数を設定できることがわかったので、インストール先ディレクトリ名を渡してPATHに設定するようにしてみたのです。

でもグレーアウトというのは不思議だなぁ。

cd %INSTALLDIR%

bin\runirb.bat %CD% ←カレントディレクトリ名を""で囲んで渡す

とか、

cd %INSTALLDIR%

bin\ruby18.bat %CD% ←カレントディレクトリ名を""で囲んで渡す

とか実行できますか? (9:18に書き換えた。引数で渡すディレクトリ名はbin付じゃなく、インストール先のディレクトリ名そのもの)

_ 追記

ダブルクォテーションとかがむちゃくちゃなのは気づいてます。Windows2000/XPでは問題なかったので無視しているだけですが。

例)

irb(main):001:0> puts ENV['PATH']

""C:\Program Files\ruby-1.8\"\bin;...

=> nil

irb(main):002:0>

""でインストールディレクトリを囲まないと、引数が分離しちゃうんですよね。

よく考えたら、batでがんばるより、環境を設定してフォークするスクリプトを登録すりゃいいんだな、多分。

_ エンコーディング

Windows-31Jと、ja_JP.PCKのデフォルトエンコーダで動作が異なる。例によって〜なんだけど、Windows-31Jはだめで、デフォルトはちゃんとやってくれる。おまけに、Shift_JISも〜はOK。でも当然、①とかだめ。ここでもだめかな? 透過なのか、大丈夫だな。だめな人は気にしてはいけない。で、デフォルトだと①とかも大丈夫。もちろんWindows-31Jでも。どうやらPCKというのはWindows-31Jのことらしいが、それにしてはWindows-31Jの〜の挙動が謎。

おもしろすぎ。なぜエロサイト? !!現在修復中−−−修復完了(3:40)PCKはWindows-31J相当

で、デフォルトエンコーディングとWindows-31Jで挙動が異なるのはなぜですかい?

_ 怪文書怪なのはSolaris版J2SE

しかし、この記事には、

この事例ではLANGの設定をja_JP.PCKとしていたためSJISが利用された。つまりMS932のソースコード(JSPCの結果ファイル)をSJISでコンパイル(javac)したために文字化けが発生していたことになる。

とあるが、PCKがWindows-31Jなら、この文は何を意味してるんだろう。MS932のソースコードを、LANG=ja_JP.PCKでデフォルトで読ませたと取れるんだが、ならば、Windows-31J-Windows-31Jで問題ないんじゃないか?

#が、Windows-31Jには問題がありそうだからな。

8/13:PCKを明示的に指定してCharsetDecoderを取ると、Shift_JISが使用される。


2003-08-13

_ 考えすぎでした

というわけで、ASR 1.8.0.2

コンソールはまだ予断を許されないけど、irbとかは、直接ruby.exeを実行すれば良いのでした。と思うけど、9xは何しろ試してないからわかんないんだけど。

_ グレーアウト

良く見たら、リンク先はグレーアウトしてる。ショートカットキーとかは変えられるみたいだけど。どうも、exerbじゃないけど、Visual Installerに指定した起動引数を(多分アイコンも?)格納した実行ファイルを作成して%APPDATA%\Microsoft\Installer\{GUID}\乱数.exeとしているようだ。

ショートカットの内容をメモ帳で見ると、そう見える。でもバイナリーエディタを使うと該当する実行ファイルにリダイレクトされて、それの中身が見えるようだけど。

_ 嘆息

同時に2つのことができないとはねぇ。SwinとVRubyのバージョンアップを忘れてるじゃん。というわけで、1.8.0.3の作成開始。

というわけで、ASR 1.8.0.3

_ CRLF

試してくださってありがとうございます。CRLFとは気付きませんでした。

今度のは、直接ruby.exeを実行しているのでそのあたりの問題はないと思います。

プロパティシートは、そういうもんだということにしておいてください。−−どういうもんだろう?

_ どうも良くわからない

System.out.println(Charset.forName("PCK"));

-> Shift_JIS

_ なんだこりゃ?

private static Charset lookupCharset(String csn) {

if (csn.equalsIgnoreCase("PCK"))

return null;

で、その結果sun.io.ByteToCharConverter登場。

で、PCKで、String(byte[] data)は正しく動いてしまうが、アプリケーションが内部でLANGをチェックしてPCKから、

cd = Charset.forName("PCK");

System.out.println(cd.decode(ByteBuffer.wrap(data)).toString());

とやると、shift_jisエンコーダ(じゃなくてデコーダ、この場合)が動いてしまうのでだめぽ。

でも、

System.out.println(new String(data, "PCK"));

なら、OK。なんだかなぁ。

結論からいくと、〜は、Windows-31Jじゃ変換できない(確かに、マッピングが異なるから元に戻せないという原理は知っている)。そのためにはshift_JISを使う。でも、①はWindows-31Jじゃなきゃ変換できない。PCKはShift_JIS+Windows-31Jの取り込みなので、実体はShift_JISにマッピング。でも、それだと不便過ぎなので、デフォルトエンコーディングでは、Shift_JIS+Windows-31Jとして振る舞うsun.ioパッケージのデコーダが活躍する、ということですか。

PCK は、Microsoft が Windows3.1 で規定したマイクロソフト標準キャラクタセットと同等の文字集合およびエンコーディングを提供するものです。また、PCK は、従来の Solaris リリースで MS 漢字コード(またはシフト JIS)と呼ばれていたものに、ユーザー定義文字やベンダー定義文字を加えたもので、JIS X 0201、JIS X 0208の 1-84 区(13 区除く)までに関しては従来のものと互換性があります。


2003-08-14

_ 増殖してるな

JVM上の言語

_ ポケモンの喋り

ピカチューがサトシを心配して「ピカピー、ピカピー(イントネーションは、サトシー、サトシーと同じ)」って言うのには笑った(で子供に怒られた。確か、ミュー2の時か)。

_ WMIとWin32OLE

atexitから呼び出すのが問題なんじゃないかと思うんだけど、実はお手上げ。邪道編の時から既知の問題なんだけど、WMI以外はOKだから手を出せない。というか、死んでるのはWMIの1部らしき、FastProxy.dllというやつ(WMIはリモート呼び出しになるから)。

多分、取り払っても問題ないとは思うけど−−根拠はプロセス自体が終了するわけだからリソースの解放は行われると思うんだよね。−−現在のCoUninitializeの存在意義は途中で生成/消滅するSTAのリソース解放だと思うし。

_ Windows上のWindows-31J

ちゃんと〜が出るな。同一のバイト配列を与えて、同一のエンコーディングを指定して結果が異なるというのはおかしくないかい? (もちろん、コンソール出力時に異なるっていうのならそれなりに理解できるのだが)

_ Officeさんちの1509

確かにそうだ。僕が聞かされたことのあるメリットはすべて、単品管理(これは個品管理とは異なる概念)可能なビット数を確保した品種コードだけで済む話だ。だって、どの素材のどの色のどのサイズのどのスタイルの服がどの店でどんな客に売れたかは、有意な情報だけど、必ずしも誰が買ったかまでは必要な情報じゃない。単品管理という面からは。もちろん、たくさん買う客は良い客だから、この客はこれを買ったという情報にも意味はあるんだが、その場合は、最初から顧客を対象としたカードなり、あるいは担当者という顔みしりを作るなりして、別の方向から押さえることができるから、何もRFIDを待つまでもないし、そもそもそのような情報を進んで出してくる客じゃなきゃ優良顧客とは言えない。

つまるところ、RFIDは顧客管理という面からはどうでも良いということになる(例外は考えられる)。

もちろん、それが自らIDを発信するという点から、MACアドレスと同様にコリジョンしてはならないから異なるIDとするという説明は聞いたことがあるし、おそらく生産現場から付けることを考えれば、現在のシリアルNOと同様に、固体毎の番号を持たせるというのが自然に発想されたように思える。

むしろ、後から個体識別可能なIDに(結果的になってしまったことから)意味を持たせようとして破綻したということではなかろうか。

例外として考えついたのは、現在のところ、保証書の店舗(流通業者)からの自動登録といった仕組みだ。火を噴くテレビセットを購入したかどうかは、購入者が手間を惜しまずに商品登録しなければ(家電では見たことがないが)、1度消費者の手に渡ってしまうとわからなくなってしまうのが現状だろう。大型家電店ではシールを保証書に貼れと渡すだけで、保証書の控えを確保していないように見えるからだ。実は違うのかな? でも、まあ、自動化できりゃそれはそれで結構なことだろう。

しかし、衣服とかほとんどの商品は、大型家電などと異なり危険な状態の製品を出荷するということがそもそもありえない。このような製品に個体識別子がついていても、まったく意味がない。また、前記の意味あるシナリオでは、製造業者だけがその識別子を知っていれば良い。したがって、可変な暗号化で良いということになる。まあ、そもそも上のシナリオでは購入時にインフォーム可能だし、そうすべきだろう。「お客様のお買い上げになられた商品の保証のために、お客様のお名前と……とその製品の識別子をメーカーで管理させていただきますがよろしいですか?」この組み合わせがなければ無意味だし。

しかし、なんか忙しくて資料を読んでないから嘘ばっかりかも。

_ 所有

単品が数メートル離れたところから識別できること、それ自身が問題だと思う。すなわち、物がアイデンティティ(の必要はなく、この場合、クラスを)自ら発信するということが、ひとたび個人の手の中に入ってからはいかんのではないかと考えているのだ。

しかし、製造−物流(まではアイデンティティがあったほうが良い)−流通(ここまではクラスまでで良い)の過程においてセンターとオフラインであっても有意な情報を保つためには、RFIDのうち、最低でもクラスまでは識別可能であったほうが良い。しかし、その状態(クラスまで識別可能な状態)は個人の所有物になった時点では良くない。って言うか、バーコードは数メートル離れたカバンの中にあったら読みようがないんですが。

物流の各段階でステートが変わり、それによりobject.idの戻り値が異なる(というより戻し方が異なる。あるいは、==とequalsの結果が異なるというか)という方法かな。ステートを変えることは可能なようだからそれを行うコストと、個人の所有に移った時点で廃棄するコストの比較になるんだろうか。


2003-08-15

_ ロシュフォールの恋人たち

最初の広場から2Fのバレエステュディオまでのクレーン撮影。

ソファーの上でハートを作る双子座の歌。

ジョージチャキリスが旅とシエスタについて歌う。

デルフィーヌがブブを迎えに行くまで。

ジーンケリーが楽譜を拾ってからバーイと車で去るまで。

ホンダのバイク(小澤征治の時代とダブル)

海と火と大地。

出てくる人間はすべて身勝手で飛び出すことばかり考えている。

しかしすべてはうまく行く。

なぜなら、これが映画だから。

_ 実体

何度説明してやってもわからない人達のために、ワームについてくどくど説教を垂れるために、インターネットワーム事件のおさらいをしようと、bit 1989/12を読んでたら、久野さんのCLU話に目が行った。

「種類」「実体」「働きかけ」と「」付き日本語で書かれてるが、結局カタカナ書きが普通になってしまったのはなぜなんだろう。実体というのはインスタンスより良いような気がするんだが。

Mistyという自作の言語を取り上げられているが、これってインターフェイス継承(「機能」)のほうが実装継承(「実現」)より良いのでは(たとえば多重継承とか)という話みたいだな。って言うか、時間がないからここまでだ。

#買った時はわけわからなくて放っておいても時間がたつとわかってくる、ということは良くあるな。


2003-08-16

_ forkとexec

すっかり忘れててたどり着くまでえらく時間がかかった。

_ 蝙蝠

雨のため、上野の蝙蝠探索ツアー行きは断念。かわりに江戸東京たてもの園に行く。

そういや、子供の頃は、どこ行っても雉の剥製あったよなとか、そうそう棕櫚の木ありましたなとか、勝手口から配達されたもんを受け取るとそこが台所なんで楽ですなとか、女中部屋という名前の小部屋とかありましたな、とか。

というわけで、妙なレトロ感とともに、自分の出自が奈辺にあるかっていうか、山の手なわけだが、ちょっと再発見。

三井の家の奥さんが刺繍するための作業部屋っていうのが一段高いとこにあって、刺繍をする旧家の奥さん(っていうか本人も徳川の子女だったりするけど)ってことから田壮壮のこないだのやつを連想したり、想像の中の226だと洋館以外想像もしてなかったのに、あー畳の部屋ですなとか、いろいろ。

でも、1番面白かったのは看板建築の舞台裏とか、横から見たとことか。確かに横から見る機会はそうそうないですね。

_ 忘れる前にメモ

byte[]なデータ(しかしアプリケーションのバグによってPCKとして変換不能なバイトが混入している)を、empty_clob()をインサートしたカラムからフェッチ、Clobに対してOutputStream経由で食わせると、その時点では処理は無事に完了する。ちなみに、NClobじゃなくて単なるClobのカラム。

これに対して、後からselectしたClobで読み取りかけると、「長さエラー」となる。ただし、実際には長さは正しい。いずれにしても、読み取りはSQLExceptionで失敗する。

それだけならばまだいいが、その後のオペレーションはぼろぼろ崩れていき、最終的には何をやってもプロトコルエラーでSQLExceptionとなる。

したがって、Clobの読み取りに失敗したら、有無を言わさず1度Connectionをクローズしないと危険。

元ネタが悪いのだが、この仕打ちはちょっとひどいとは思う。

防御するには、無駄な気がするが元のbyte[]を1度文字列化して例外を出させるか、さもなければ?化させるかして、Writer系で書き込むしかないだろう。とにかく書き込んだらアウトだ。


2003-08-17

_ 面倒になったので乱暴バージョン

ワームについての説教

_ 蝙蝠

正確にはアブラコウモリ

上野動物園の不忍池あたりに棲んでいる。

小降りになったので、上野動物園に行った。ら、東園から西園のブリッジのほとんど西園に降り立ったあたりで、妻が「あれがコウモリ」と教えてくれた。えー、あいつかぁ。

いわれて見れば、確かに鳥の飛び方とは違うし。

そう言えば、なんで鳥目のはずなのに鳥が飛んでるのか? と不思議に思った状況を思い起こせば、あんな飛び方のような。あんなってのは、一言で片付ければ旋回ってことなんだけど、わりとフラフラした感じと言えば良いのかな。不規則というか。

というわけで、見れました。

_ どうして益獣や益虫が嫌われるのか

コウモリにしろ、クモにしろ、むしろ害虫を食べると言う意味では人間に益があるほうなのに、あまり好かれているとは思えない。

まあ、クモはわからないでもない、というか、確かに気持ちよい生物ではないけど。特に差し渡しが5cm越えるようなのはちょっと怖い。幾ら、毒がなくて、こちらに危害を加えるわけはないと頭では納得していても。

でも、コウモリはむしろ、かわいい。少なくてもスナネズミとかハムスター程度には。もっとも人に慣れるとは思えないけど。

でまあ、いろいろ考えて見るに、イソップと吸血鬼映画あたりの影響ではないのか? とか。イソップといえばイソポ物語でやたらと昔(確か安土桃山)に紹介されたはずだが、そのころコウモリのやつも翻訳されたかどうかはわからないし、上田秋成の怪異譚に出てくるわけでも無し。多分、戦後になってから追われたんじゃなかろうかと思うんだが。

現実問題としては家が密集して建てられてしまうと飛ぶのが難しそうだから自然と追い出されたのかも知れないが、まあ、見かけたら仲良く、放ったからしておいてやろう。

ちなみに、都内での天敵はアオミズクということだが、そんなのも自棲してるのかぁ。


2003-08-19

_ 帰還

AM3:09まだ外は暗い。

_ コウモリタコ

いいなぁ、僕も見たかったな。

_ ASR

ヘッダとライブラリも、ASRと同じページにリンクがあります。一緒に入れるとパッケージが太るということと、単にRubyを利用するだけだと存在意義がないので、別パッケージとしてます。

_ スキミング

なんてのがあって、人気のない深夜のガソリンスタンドが狙い目だそうだ。当然、人気のないガソリンスタンドに併設して24時間営業ではないコンビニや、同様に郊外型スーパーとかもあるわけで。

誰だって人の道を踏み外す気概さえあれば、リーダーを入手するなんて、たやすいことなのに。

ちなみに、スキミング被害が実際に出てからは、グリコのチョコのシールみたいな蓋を開けたらバレル仕掛けが、カードリーダに漏れなく付いてくるので真似しないように。

そういや、ICカードリーダなんかだと蓋を開けると自爆する(実際にはROMが焼ける)仕掛けが入ってたりするし。(これ、別の装置の間違いだ、と追記。別の装置については多分、書くことは無い)

_ TODO

(なんてわざわざ書いているということは、しばらくやれないだろうという含意がある)

・readlineを入れる(irbをスタートメニューに登録したことだし)

・vruby/swinを最新に

_ 灯台の足元は暗い

わたなべさんのエフォート。感謝。

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

_ なひ [ICカードで本人認証をしないと動かないHSMを「ICカードリーダ」と呼べば間違いではないと言えなくもない(どっちだ)..]


2003-08-20

_ 帰還

午前2:21我慢可能な範囲というところ。

しかし、夜の渋谷の豹変振りはなかなかのものがある。黄/黒/橙/赤。地下鉄の工事はわかるが、ガード脇は何の工事なんだろう。

_ ASR 1.8.0.4

結局、作った

ちゃんと、require 'irb/completion'が機能することも確認。それにしても、ebanさんのポーティングはきれいだな。


2003-08-21

_ 僕は何が嬉しかったかな

そりゃやっぱりテンプレートメソッドパターンと今は名前がついてるやつを導出したときだ。

その時、思ったのは、構造化によってgotoが追放されたように(と言ってもbreakやcontinueとかで残っているのはご存知のとおり)、オブジェクト指向(構造化と比較すると確かにわかりにくい言葉だし、orientedというのが曲者みたいだ)ではifやswitchといった条件判断による分岐が追放されるんだろうな、ってことだった。

その時、作ってたのは、言語はTurboC++だったわけだが、端末エミュレータで、1.インタラクティブ(キー入力)、2.ファイル転送(送信側)、3.ファイル転送(受信側)、4.インタラクティブ(スクリプト)の4つのモードがあって、さらに下の層では、Winsock(PathwayまたはLanamanで微妙に互換性がない)か、RS-232C叩きかの3つの通信レイヤがあって、さらに端末もvt220かムニャムニャかの2つのモードがあって、さらに文字コードがEUCかMS漢字かムニャムニャJISの3つの選択肢があって、とかの組み合わせというやつ。

その前に、下はRS232Cだけど、ほとんど同様なやつで、ただし画面が9801のVRAMかAXのVRAMかムニャムニャのVRAMか、っていうようなのをTurboCでご多分に漏れず#ifdefとか使って作ってたのが、Win16で実行プログラムは1本で済むようになったから、さあ、#ifdefとか抜きで実行時に判断するぞ判断するぞ、とそんな感じで、いろいろいじっているうちに、デザインパターンで言うテンプレートメソッドパターンとファクトリパターンが浮かんできた。

もちろん粒度の問題があるから、ifなしではプログラムは書けないのだが、このあたりが僕のオブジェクト指向開発の原点だから、最初からオレ様MVCで自然にやってたという感じ。

_ 続き

で、それまで仕様をながめると
 if (provider == MS_WINSOCK) {
    ...
 } else if (provider == PATHWAY) {
    ...
 } else { // PORT hitter
    ...
 }
とかが浮かんできてたのが
 provider->send(buffer.get_binary());
というように変わった。
全体のコード量はむしろ増えるー殻の分ーけど、あることをする局面では、そのことだけ関連を持って記述できるということかな。
別の言い方をすると、コントローラ(やその下請けのサブルーチン)が条件を判定して何かを実行させる(たとえば、Winsockライブラリ)のではなく、あらかじめ条件によって生成されたオブジェクト(この場合だとWinsockのラッパオブジェクト)に処理を任せるという記述方法だ。で、そのように作成すると、コントローラから見て、ラッパオブジェクトの実装は隠蔽されるから、実際のWinsockライブラリなり他の通信ライブラリなりを操作する複数のオブジェクトとして実装することが可能となる。もちろん、ここではコントローラから同一のオブジェクトとして扱えなければ意味がないので(この場合、同一はインスタンスの同一性ではなくメソッドシグネチャの同一性=インターフェイスの同一性という意味)、内部的にはテンプレートパターンを使用したクラス階層を取り(だって、ほとんど同じなわけだから、こういう局面では実装継承を使う)、外部的(対コントローラ)にはインターフェイスによる抽象的な呼び出しを可能とさせるということだ。

_ メモ

BASIC認証はXSSに対して今や安全ではない(TRACE)->Public編 追補に入れる

_ switch

FSM(僕はスティーブンスのTFTPの実装で名前は知ったが、それ以前から使ってた。状態遷移図をそのまま現在の状態値と入力値と新たな状態値を返す関数へのポインタに置き換えたもの)を使うようになってから、あまりswitchそのものは使わなかったけど、と意味無く追記。ただ、これも粒度の問題があって、端のほうでは当然使う。

なんて、無駄な書き込みができる程度には、余裕が出てきたりして。

_ 帰還

その日のうちに帰れなきゃ、おかしいよな。

_ 赤ちゃんの手

昼飯食いに行こうと外に出たら、交差点の向こうからベビーカーがやってきた(もちろんやって来るはずがない。が、母親のことをまったく見てなかったので、主観的にはベビーカーが勝手にやって来たのだ)。乗り手はまだ若いんだが、ぐっすり眠って(それは首の傾きからわかる)て、しかし左手を高々と上げている。ラッシャー。で、その手は固く握られている。

そうそう、そうだよ。で、時々開いて見ると、なぜか埃とかが入ってるんだよね。で、臭いの。お前は綿吹き虫か?

などと、思い出したので記録。


2003-08-22

_ スマートクライアント

クライアント側セキュリティだけではなく、サーバー側についても考えるべき点はある。

たとえば、テキストの送信を行うクライアントだとして、送信サイズが無制限だったらどうだろうか。

もちろん、イントラネットならそんなことした社員を注意すればすむだろうが(送信元は筒抜けだし)、インターネットだったら弱者の強い味方のインターネットカフェというものもある。

SSLを使用しない限り、SOAPを使うなら要素名にも気をつけたほうが良いだろう。

俺サマプロトコルを使う場合であっても、入力内容が既知なのだからほとんど筒抜けと考えるべきだ。

ということから、比較的簡単に攻撃(まあ、悪戯といったところか)パケットを生成できるわけだから、その意味ではWebアプリケーションとほとんど変わらない。

このあたりのサーバーアプリケーション構築時についてのハウツーみたいなものは、先行しているJavaアプレットにはあるんだろうか。

_ アクション廃刊か

まあ、雑誌はどうでもいいが、軍鶏はどうにかなるんだろうか? そういや、西洋猿遊伝(全然、嘘っぽい。多分、違う)も途中でアクションの何かが廃刊になってその後、どうなったんだっけ? っていうか、たなか亜希夫、南回帰線に続き、2度目の未完作か? それにつけても南回帰線は、まさにこれからだったのになぁ。

突然の連想: 後期の太っちょと楽園の頃のホウシャオシェン。

_ 名前

太っちょからの連想の続き。「で、どいつだ?」「青と黒だ」「それが名前か?」「そうらしい。いかれたチンピラさ」「まったく、最近のギャングはろくでもない。それに比べて昔の連中の名前は味があったよな」「そうそう(イタリア系の名前を挙げるがすべて忘れた)」「ほら、そういや、あいつ。あの、すげーにおいをプンプンさせてるやつ、あれもいい名前だったな」「そうそう、いたいた。ありゃ、なんてったけな」「たしか、トニー、そう、トニーコロンだ。100メートル先でもやっこさんのこたぁわかったもんだ」「いい名前だな」

という会話がある映画(だと思う)を先日、レストランで見たが(まさに今の部分だけ)、あれは誰のなんていう映画だろうか。

同じパターン。「ゴーストドッグ? なんだそりゃ」「例の野郎の名前でさ」「まったく、最近のがきどもと来たら」

「で、あなたのお名前は?」「ジュール」「ぷっ。ジュール! まったくフランス人と来たら、100年たってもジュールジュール」(ジュールには「日」という意味があるけど、それにかけてるわけじゃなさそうだ)

「ラズロコバック」「マンコカパック」

_ 思い出した

「ミネソタの太っちょ」だ。


2003-08-23

_ 思いついたときに

作っとけ。と身に染みて思う今日この頃。

_ 火星

江戸川乱歩に、火星の運河という、自分の体をナイフで切り裂いて赤く染まり火星と同一化するという内容だったと思うが掌編がある。

どこからそういう発想が湧いたんだろうか?

_ 誤読

けれど どいつだって、自分を殺す以外の方法を思いつかない。

でも、絶対的な意味は同じだな……

_ 食べ物

子供のころは、道端に生えてるタンポポとか積んで帰って、良くオシタシ(いいよ、変換できなくても。「浸す」からほんとは「おひたし」だってこた知ってるから)にして食べたよね、と言ったら、原人ビビを見るような顔で見られた。そりゃ、そうだろう。だって、でまかせだから。

_ 非集中型ネットワーク

どーして、こー、集中して何かをしようとすると、とりとめもない、たわごとばかりが、うわごとのように、次から次へと沸いてくるんだろう。人間だ者。そうだ物。

_ 道のまた道は道

ジャングルで道にまよった

大きな花に囲まれた

これからどこに行くのだろう

サボテンの野で道にまよった

赤い大きな車を乗り捨てた

コヨーテの背に乗って逃げ出した

草原で道にまよった

四足の獣が寄って来た

ダチョウの背に乗って逃げ出した

大鷲の背に飛び乗って

青い豆から外に出た

黒い川で道に迷った

舟はあるけど漕ぎ手はいない

ワニの背に乗って逃げ出した

大雨の中で道にまよった

傘さえ流れて溶け出した

象の背に乗って逃げ出した

粘土砂漠で道にまよった

誰も気付かず過ぎ去った

そのままずっとさまよった

大鷲の背に飛び乗って

青い空から外に出た

_ やさしい荘子入門

移動

_ J2EE 1.4β2

deploytoolが、application.xmlを作り損なう。例外は見えてるんだが???

ロケールをUSに変えてリスタートか? 面倒だがやってみるか。


2003-08-24

_ J2EE1.4β2

ロケール変えてもだめじゃん。とりあえず1.3にバージョンダウン。

なんか、デスクトップのアイコンがきれいに見えるんだが気のせいか?

同じ症状らしいが、application.xmlが空だとまでは書いてない(気付いてない?)。

_ 再起動

気のせいだった。って言うか、1.3.1もjp用のサプリメントが別立てになってるな。

_ Windowsが原因

かも知れないと、ついLinuxマシンのほうに入れていじくってたら、Xが固まりますた。しょぼん。

_ AMD

こんな財務状況で良くインテルとやり合えるなぁ。趣味ですか? 意地ですか?

_ NT

だいたい、trussがないから、不便でしょうがない。と書いてから、WinsockSpyと同じ方法で、CreateFileとかをフックするstub DLLを作ればよいと気付くが、誰か作ってないかな。SysInternalあたりを掘れば出てくるかも。

_ これか?

usロケールで再インストール

単にdeploytoolの起動時のロケールってわけじゃないのか。

_ 時間を浪費しちまった

それじゃないよ。それどころか、usでインストールすると、「スタートメニュー」ディレクトリがわからなくなるらしく、ショートカットが登録されない罠。

ふと思いついて、cmd.exe -> us -> deploytool.bat -> うまー。

もう一度、アンインストールし、jaでインストール、bat書き換えを試すことにする。


2003-08-25

_ 次の日になっちゃったじゃないか。

当たり。インストール時のロケールは、少なくてもdeploytoolがearを作成する動作とは無関係。というか、日本語Windowsでロケールを変えると、スタートメニューがらみで厄介なことになるとの教訓を得る。

次。

deploytool.batにusと記述するとプロセスが消失する。

??と思ったら、usの正体は、%Windir%\system32\us.batなのね……。DOS/Vの頃から変わって無いじゃん。

というわけで、us.batの中を見るとCHCPコマンドの呼び出し。ようするにコマンドラインの世界ではWndowsのロケールではなく、cmd.exeのコードページが優先されるらしいとわかる。というか、ロケール変えるだけじゃだめだってことらしい。LANG重要ってことで。

最終的にはdeploytool.batの先頭を

@echo off

CHCP 437

REM This batch file should be run under \bin

と変えて対応。2行目のCHCP 437がミソ。

で、無事、application.xmlの生成が可能となった。

_ ロケール変えないほうが良い

あー、IEのお気に入りの順番がぐじゃぐじゃになっちゃったよ。

理由は、ロケールちょこちょこ変えたことくらいしか、考えられないじゃん。

_ こーなるのか。

earに続き、jarも無事できる。

_ でもさ

Windowsのロケールわけわかだけど(多分、en_US.Shift_JISってな感じになってたんだろう)、デフォルトエンコーディングがWindows-31Jだからと言って、ASCIIだけで記述された(そもそもencoding="UTF-8"なわけだし)ものを参照しながら動作が変になるんだ?

_ まだだめ

なんとなく動いてたから無視してたが、ASのほうが受け付けてくれない。 %J2EE_HOME%\config\asenv.batで
 CHCP 437
 set AS_LOCALE=en_US
したが、まだ不足らしい。 だって、ログが
 <[情報][j2eesdk1.4_beta2][][][10][javax.enterprise.system.core][25.8月.2003 02:34:48:109 
とか出てくるし。中でNAMESPACE_ERRになってるし。

_ ASの実行環境

これについては、ロケールを米国(U.S)にする必要があった。

もっとうまい方法はないのかな。


2003-08-26

_ やさしい荀子入門

白馬は馬ではない? そりゃ、インスタンスとクラスの区別がついてないということだな。白馬は馬のインスタンスで白という属性を持ってるだけのことだ。論理を明らかにするためには、概念と実体の区別をつけるってことが重要だろう。

と、荀子は3000年前に言った。

_ 白馬は馬ではない

もしも、白馬が馬ならば、どうして黒馬が馬でありえようか? 白馬が馬なら馬は白いという命題が導かれるからだ。しかし、それはおかしい。だから、白馬は馬ではない。

_ やさしい韓非子入門

白馬が馬かどうかなんてどうでも良い。そんなタワゴトに時間を使うのは無駄なこった。とりあえず、そこの白馬を連れて関門を出てみろ。課税されたら、馬だ。

_ 追記(8/30)

上のは、公孫龍(ちなみに韓非子の外儲説左上篇14では児説)の「形式論理」、荀子の「正名」(実際には「単名」の馬に対して白馬は「兼名」に属するので上のはでたらめ)、韓非子からの自由な引用であり、これが意味することは、
虚辞に籍れば、則ち能く一国に勝つも、実を考え形を按ずれば、一人をも謾こと能わず。
やれやれ。

2003-08-27

_ COBOL

ADD A TO B C D.

が、

B += A; C += A; D += A;

となるんですか、そうですか。

_ パーディションへの途

イタリア料理の店で、トムハンクスが(多分、ポールニューマンの)息子の部屋に乗り込むところから見る。

って言うか、エンディングが始まるまでトムハンクスだと気付かなかった。スプラッシュとビッグのトムハンクスしか知らなかったからなぁ。ポールニューマンにいたってはタワーリングインフェルノと明日に向かって撃てなわけで、生きてることすら知らなかった。ドレッシングは売れてるのだろうか?

というところから、いかに自分で作るってことが重要かとか(と、ポールニューマンに対比してクリントイーストウッドを念頭におき)。

つい8時間程度前に見て、もうすっかり忘れてしまったが、と書いた端から思い出したがオライリーのオープソ本だな、財界人は100年たったら消えてしまうが(ビルは名前が残っても、ジム(マンジ)とかジム(クラーク)とかが歴史に名を刻むとは思えないとか、)、プログラマーは(たとえばリナスとかRMSとか)は多分100年たっても名が残るんじゃないか、みたいなことが書いてあったのをなんとなく想起する。

もちろん、リリアンギッシュとかバレンティノとか上山草人(ちがったかな? 悪い魔法使いの役でアラビアンナイトとかに出てた人)とか、名が残ってる人もいるけれど、それでもグリフィス、ウォルシュ、フォード、ラング、ガンスその他の作家の名前の残り方に比べれば屁みたいなもんだ。

でも、ポールニューマンから考えが飛んだが、オライリー本との比較で言えば、プロデューサということになるんだろうな。こちらはザナックくらいしかそもそも知らないな。ラウレンティウスは知ってるか。

同じメディア産業でも、映画でプロデューサーと言えば、資金を提供する役回りに過ぎないみたいだが、なんで音楽ではプロデューサーが音を作る役回りの人になるんだろう? カルショー(違うかも、ロンドン)とか、クリストーマスとかクリアマウンテンとかマーティンハネットとか(いい加減、古い)。

_ ルドルフ

毒蝮三太夫。僕もNHK見て好きになって、三冊、全部持ってたりして(しかし、3冊目はまだ読んでないけど—NHKでは2冊目までは見たけど3冊目もやったのかな?)

_ パーディションへの途

子供に自分のようになって欲しくないオヤジが、そう思っているということを子供に話すってのは、いやなもんだろうなぁ。ただ、ギャング映画だから、どう考えたって、「坊主、オレのようないかしたギャングになって、マシンガンで敵を殺しまくれよ」なんて言えるはずがないわけだから、単なる予定調和と言えなくもない。

好き嫌いで言えば、ギャング映画は、ジェームズキャグニーがおかしな目つきで暴れまわるやつ(白熱とか)とか、やることなすこと裏目に出て追い詰められてくやつ(暗黒街の弾痕とかハイシエラとか彼らは夜生きるとか、たくさん)が好きなのはコンサバだからか? 多分、違って、子煩悩なギャングが子供を連れて逃げるというシチュエーションそのものが、いやなんだと思う。しかも、このオヤジ、どう考えても、それは自殺だろうみたいなことをしでかすし。そりゃ、自分のようになって欲しくない自分を子供に見せつけながら動かなきゃならないというシチュエーションだから、そうならざるを得ないというのはわかるように思うが、そのシチュエーションそのものが映画として失敗しているような気がする。いっぽう、ポールニューマンとの関係は映画的にまとまっていて文句ないだろう。

やくざなオヤジと子供という関係の映画なら、やっぱりムーンフリートが好きだな。


2003-08-28

_ イルカ

頻繁に食べないほうが良い坂東海豚とはいえ、見てるぶんには、なんだかツルツルしてるし、かわいいといえばかわいい。

いっぽうの、権藤(?もう忘れてしまった)沖権藤海豚は、口もとがってなくて、バカッと開ければ鋭い歯がたくさん並んでいて、ちょっと一緒に泳ぐ気にはなれないな、なんて考えたり。でも、こっちの海豚に先に芸を仕込んだそうだから、ちょっと不思議な感じもする。

ラッコは、貝殻をガラス(水槽の)に打ち付けて割ってみせるし。石を与えておくと同じようにガラスを割ろうとして危ないから、ガラスで割らせてるんだとか。そういえば、池袋では殻付きの貝は与えていなかったっけ? とか記憶をたどっても、そこまでは覚えていない。両手で与えられた餌を掴む仕草が妙にかわいい(多分、ちょこんとしてるし、サイズが子供みたいだからだろう。でも成長すると148cmとかになるってことは、小柄の女性程度にはなるってことなんだな)ってことくらいしか印象になかったからだ。というわけで、激しく、貝殻をガラスに叩き付けて割る姿は、強烈な印象を与えてくれた。やるなぁ、下田海中水族館。


2003-08-29

_ ホリーゴライトリー

(=旅行中)


2003-08-30

_ 帰宅

sob(とすすり泣きしてるのは、SOBIG_Fが溜まってたから。SOB!と怒鳴っても、まあ、この場合は同じ)だけど。

_ 誤読果て無し

最初も誤読なら、次も怪しいので、しょうがないので追記しといた。もちろん、助田さんが正解です。いや、実際、一瞬、何が起きたかわからない自分に対して(p><p>)がニヤッとしてやったりの顔文字に見えたので(もちろん、リンク主—たむらさん—の意思をそう感じたということではなく、僕自身のびっくりがということです)

ちなみに、絵が違うので本を買うのを逡巡したのは事実で、NHKの絵のほうが僕も好きです。


2003-08-31

_ キアロスタミ

いやはや、映画ですなぁ、と感嘆。映画以外にどうやったってこういうことは不可能でしょう。

_ トルンカ

皇帝の鶯なんだけど、ナイチンゲールは夜鶯じゃなかったっけ? とか、翻訳じゃ意訳(歌を唄う小鳥)としてカナリアとしたりしてたんじゃなかったっけ? とか余分なことを考えたものの、歌はバイオリン(胡弓を意識したのかポルタメントを多用とか)で、聞きながら皇帝が涙を流すところ。蛙を鶯だと思い込んで、侍従一行が聞きほれるところ(管楽器かな)とか。

なぜ、墓場に十字架? とか、皇帝の前では土下座だろう、とか細かい点は抜き。


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|

ジェズイットを見習え