目次

2004年08月01日

「アップデート順のリスト」MT導入と改造

サイドバーにアップデート順のリストを作ってみた。

しかし、<$MTEntryModifiedDate$>がエントリーを最後にアップデートした日付になる ことを期待していたのに、最初に書き込んだ日付になってしまっている。 ソースをざっとみてみた限りではちゃんとmodification_timestampから引っ張ってくる ようになっているし、modification_timestampは保存時のmodified_onからくるように なっている。そして、modified_onはperlのtime関数が元になっているので現在時間に なっているはずだ。

なぜ、ちゃんと動かないのだろうか。

ちょっと次のような原因を考えてみた。

  • MTのデータベースに独自拡張で追加のカラムをつけてしまっているのでなにかがずれた
  • time関数がちゃんと働いていない
  • modified_onにちゃんとデータが保存されていない
  • modified_onからデータちゃんと引き出されていない

…わからん。

追記:

いろいろと試行錯誤しているうちに、どうやら問題はlib\MT\Template\Context.pmの_hdr_dateにあるようだということが分かった。

この関数では、

    my $ts = $args->{ts} || $_[0]->{current_timestamp};
という処理があり、この$tsが最終的に表示される日付になるが、 日付に関連したマクロはみなここに行き着く。 問題の<$MTEntryModificatiedDate$>は、
    $args->{ts} = $args->{modification_timestamp};
としてから、_hdlr_dateを呼び出している。

ところが、_hdlr_date中では$args->{ts}がセットされていない として判断されcurrent_timestamp、つまり作成日付が使われてしまっている。

_hdlr_dateと同じで、current_timestampではなくmodification_timestampを デフォルト値に使う_hdlr_mod_dateという_hdlr_entry_mod_date専用の 関数をつくってみたところうまく動作するようになった。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/44
「アップデート順のリスト」へのコメント  コメントを書く
「アップデート順のリスト」へのトラックバック

2004年08月02日

「0.06パーセント」OO百韻

OOEnkaiメーリングリストでちょっと話題になったのだが、メンバーの17人中3人が田中さんである。

日本の苗字7000傑によれば、田中さんは全国に133.6万人いるそうである。 だいたい100人に一人が田中さんであると思っていいだろう。 ちなみに、1位から10位までは順に、佐藤、鈴木、高橋、田中、渡辺、伊藤、山本、中村、小林、斎藤でこのトップ10だけで1273.6万人おり、日本の人口のおよそ10分の1にもなる。

OOEnkaiメーリングリストのように、17人が集まってそのうち3人が田中さんである確率はどれぐらいになるだろうか? これはどのぐらい珍しいことなのだろうか? ちょっと計算してみた。

全国から1人だけ抽出してその人が田中さんである確率は100人に一人なのだから0.01、つまり1%である。 2人抽出して片方が田中さんの場合だと\fs3{{2}\choose{1}}\times{(0.01)^1}\times{(1-0.01)^1}で0.0198、あるいは1.98%となる。 このように考えて、確率0.01の集団から17選んだ場合にどうなるか表にしてみた。式は\fs3{17\choose~n}\times{(0.01)^n}\times{(1-0.01)^{17-n}である。

n人確率パーセント
00.84294384.3%
10.14474814.5%
20.0116971.27%
30.0005910.059%
40.0000210.002%
50.0000010.0001%

つまり、17人中3人が100人に一人の田中さんになるのはおよそ0.06%であるということになる。全国から17人を選ぶという作業を100回やっても、そのうち84回は田中さんなし、15回が田中さん一人、1回が田中さん二人になる。 3人揃う0.06%というのは、この作業を1700回近くやってやっと一回発生する計算になるだろうか。 このことから考えると、17人のなかで田中さんが3人いるというのは非常にまれなことだと言っても良いと思うがどうだろうか。あるいはなにかご先祖さまの呪いがあったりとか。

もっともサンプル数が17というのは少なすぎて、 統計的にはけっして充分とはなさそうではある。 また、本来ならこういう議論をする場合には正規分布とか検定とか 考えなくてはならないのだろうが、なにせその手のことを最後に習ったのは 20年ぐらい前の大学生のときのことでちょっと手に余る。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/45
「0.06パーセント」へのコメント  コメントを書く
「0.06パーセント」へのトラックバック

2004年08月03日

「インターフェイスのメトリックス」OO百韻

いくつかメトリックスについて簡単にまとめた「 *[生産性]実装(詳細設計)の相対的評価のためのCKメトリックス 」を読んでちょっと触発されてしまった。 この日記の主である呑舟さんはインターフェイス継承メトリックスについて悩んでいるそうである。

一口にインターフェイスといっても意味が広いが、ここではJavaやC++、あるいはUMLなどで言われるところのインターフェイスについて考えてみる。

メトリックスに関してはインターフェイス単位で考えていたのではなかなか難しいのではないかと思う。 それより「インターフェイスとはオペレーションの集合である」とするような抽象的なレベルて割り切ってしまい、 オペレーションメトリックスや、オペレーションの集合をベースにした束構造における元の相互関係でもってインターフェイスメトリックスとしてしまった ほうがいいのではないだろうかと思う。 ちなみに、メトリックスとはあまり関係ないと思うが、このインターフェイスに関するセマンティックス上の割り切りは実はUMLで採られたスタンスでもある。

このような見方をした場合、インターフェイスの実装、あるいはインターフェイス継承はどうなるだろうか。 例えば、仮に今二つのインターフェイスA、Bと、それらを実装するクラスCが一つあるとする。するとこのクラスCは、インターフェイスAのオペレーションの集合とインターフェイスBのオペレーションの集合、そしてもしあればクラスC独自のオペレーションの集合の三つの集合の和集合を、クラスCのオペレーションの集合として持つことになる。 インターフェイスオペレーションの集合であるとする観点からすると、 この和集合は、AやBとかいったように特に名前がついているわけではないが、 これもまたインターフェイスであり、強いていえばクラスC独自の 名前無しインターフェイスということになろう。

インターフェイスAとBが、どちらか一方が他方を、Javaでいうextendしたもの であったり、あるいは、両方ともに共通する別のインターフェイスをextendした ものであった場合はどうなるだろうか?  インターフェイスオペレーションの集合なのだから、 重複する部分については自動的にさっぴかれ、 メトリックスを計算する上では重複しては勘定されないことになる。

以前に知合いと(メトリックスについてではないが)このことを話していて このことについて意見が食い違ったことがあった。 この和集合の部分に引っかかりを感じているために、 このインターフェイスオペレーションの集合という意見に賛成できない 人もいるようだ。 が、インターフェイスとはサービスの仕様を表していて、実装を表している のではないのだから、それはそれで良いのだと思っている。

話をメトリックスに戻すと、インターフェイス継承メトリックスとは、 クラスが実装するオペレーションに基づいたメトリックスということになる。 もっとも単純なものは実装するオペレーションの数ということだろう。 実装するオペレーションが多いと、仕様に追加や変更があって インターフェイスに変更があったときのインパクトも多くなるということか。

単純にオペレーションの数を採用するのでなければどんなものが あるだろうか?  インターフェイスオペレーションの集合とするような見方では、 インターフェイス全体はオペレーションをベースにする構造をもつ。 もっとも単純にはブール束になるであろうが、ある種のオペレーション 同士について制約があったりすると、多少は複雑な構造をもつことに なるかもしれない。であることには違いないだろうが。 この構造に由来する性質がメトリックスに利用できると面白いかもしれない。

しかし、構造は半順序集合であるから、当然、比較不可能な要素がある。 これは、数値化、言い換えると全順序のものさしを当てはめて考えるのは 難しいということを暗示する。 そういう意味ではメトリックにはしずらいのかもしれない。

すぐに思いつく数値化の方法として一つ考えられるのは、 構造中の同じ反鎖集合の元を同一視してしまうなどして、 うまく構造を輪切りにして、 それぞれの輪切りの最大元や最小元までの距離を メトリックスとしてしまうことだろう。 ただ、オペレーション同士の制約があったりして、そのの中の 輪切りがひとつしかなくなってしまったりするとうまくいかない。 もっともそれはそれで輪切りの数がメトリックスになったりするのかも しれないが。

このようにして、それぞれのクラスは、全オペレーションをベースに する構造中のどこに位置するかが特定できるし、そういったデータと 最大元や最小元までの距離でもってメトリックスとすることもできるだろう。

しかし、この机上の空論がどこまで使えるものなのかは全くの未知である。 このトピックについてはおいおいに追及していければと思っている。 そういえば、昔商社に勤めていた頃担当させられたHindSightは いまどうなっているのだろうか…。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/46
「インターフェイスのメトリックス」へのコメント  コメントを書く
「インターフェイスのメトリックス」へのトラックバック
「アクセス数激増」MT導入と改造

今日の正午過ぎから15時ぐらいまでに、このブログサイトの全ページの内容を 総ナメするようなアクセスがあった。 おかげで、昨日の夕方ぐらいでは100まで行っていなかったアクセス数が 一挙に170までにいってしまった。

アクセスログをみてみたら、アクセスはアメリカのワシントン州レッドモンドの マイクロソフト社からだ。 下のグラフをみると最後に突出しているのはここが原因。 なんか「悪の総本山」というキーワードがふつふつと浮かんでくる。

そういえば最近ニュースでマイクロソフトが新型のサーチエンジンを 開発したとかどうとかいう話があったような気がする。 これがその新型か…。 グーグルのクローラーやどこかの大学のブログボットなども ときおりきているようだが、こうまで一挙にきたのは Apacheを立ち上げて3年たつが始めてのことだ。

/yuntanach/blog/000044.gif

このブログサイトを5月に開設して3ヶ月たつが、思っていたよりも早いペースでアクセス数が増えていってしまっている。なんかコンスタントにチェックしてくれているところもあるようだが、人に知られるのはもっと日記書きに慣れてからのが良いなぁ。あまり人が来ませんように…。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/47
「アクセス数激増」へのコメント  コメントを書く

こんにちは. こんなところに日記を書いておられたのですね.気づきませんでした. 慣れてから人に知られるのも,人に知られてから慣れるのも大して変わりませんよ,きっと.(^^; とりあえずアンテナに追加したのでちょくちょく見に来ま~す.

Posted by koichik at 2004年08月04日 00:35

小林さんのが、このブログにおける記念すべき第一号コメントです。

Posted by yuntanach at 2004年08月04日 01:22
「アクセス数激増」へのトラックバック

2004年08月09日

「パニック」行動記録/日記

なんかいっきょに複数の仕事の話が来てしまっている。

ホームページ制作

自分はデザインは素人でできないから、ホームページやりたいのなら本職のデザイナーに任せてね、 といつも口をすっぱくして言ってるのに…。 どうやら頼むアテがない&専門会社に頼むとえらく高くつくからどうしても、 とかいう感じで、断りきれない相手だけに断れなかった。

ずっと以前にも似たようなことがあって、そのときは結構たいへんだった割には チンケなものしかできなくて、相手が納得しないからすごい苦労したことがある。 それ以来こういう仕事の打診は断固ことわってたんだが。

内容は基本的に会社案内だけだし、固い業界のホームページだから 量、質ともにたいしたことないし、アニメーションもいらない、 CGIもいらない、ただ見せるだけのホームページでいいみたいな こといってるからいまのところはなんとかなりそうだけど、 実物をみると夢が膨らむのが世の常。

ファイアーウォール制作

どっかからもってきて設定するだけですめば、それがもっともいいのだが。 なんか手のこんだ妙な要求があって、どれをとっても帯に短したすきに長しという感じ。どうしてくれようか、これ。期日もそんなにないし…。

最近はセキュリティがらみのニュースが多いからこういう案件も しょうがないか。

計測データの3次元表示

従来2次元の時系列データをグラフにしていたものを、 今度は3次元のグラフで表示したいという案件がどうやら本腰に入りそう。 この仕事も長いなぁ。 そろそろディスコンかなぁと思っているとなんか新しい話が入ってくる。

先月やった仕事のギャラは

どうなってる? なんか先方が知らん振り状態なんですけど、もしかして ただ働き? ちょっと追加でちょちょいと、みたいな気楽な感じで来て、 あけてみると、動き出してからしちメンドクサイ話がうじゃらうじゃらと でてきた仕事だったなぁ。

去年、最初は2週間ぐらいの工数で、組み込みのモジュールを、というのを ひとつやったんだけど、最初「それはないよ」みたいなことをいっていたのが あとでひっくり返ったり機能追加がじゃんじゃん入って、結局2ヶ月かかった のに、ギャラはきっちり2週間相当分だけ。で、去年の暮れに、今年6月ぐらい に追加で1週間ぐらいでできる修正みたいな話があったのに、5月をすぎて も音沙汰なし。こっちから連絡してどうなってるのか聞いてみたら、その話は なくなったとかいう話し。

で、この話は終わったものだとばっかし思っていたら7月に入ってすぐに 来週いっぱいぐらいでやっぱりやってほしいとかいうことになったんだけど、 これが開けてみたらまたもや面倒くさい話があったり、去年のモジュールにも 仕様追加があったりとかして、なんだかんだいって結局3週間近くかかった。

どうなっちゃったんだろうか。

ネットワークの設定

これも断りきれないところから。

インターネットを新規にいれるときに電話工事の人が社内ネットワークの設定もついでに やってくれたそうなんだが、なんか設定でつまづいてしまってそのままほったらかして 帰ってしまったそうだ。 電話工事の人もパソコンの設定なんかすぐ出来ると思ったんだろうねぇ。 あるいは例によって強引に頼まれたか? こっちの方がありえそう。 でもねぇ、ひとたび引き受けた仕事を途中で帰るなよ。

というわけで明日は朝九時に羽田だ。

こういう細かい話ばかりあると、稼ぎにならないから食っていけなくなるんじゃ ないかと危惧してしまう。来年はいよいよ年貢を払う時が来るというのに。 来週の週末は三重行きだし、今月はやることがたくさん。

なんか愚痴っぽくなっちゃったから、今日はもう寝よう。明日朝早いし。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/49
「パニック」へのコメント  コメントを書く

おやぁ,ご結婚ですか!? (^^; OOEnkai でお祝いですね!!

Posted by koichik at 2004年08月10日 01:11

おめでとさん。で、いいのか?

Posted by Ryo.Matsuda at 2004年08月10日 09:38

当人同士で合意がとれてるだけ段階で、 まだ具体的にいつどこでどんなというのは全くの未定です。

Posted by yuntanach at 2004年08月10日 23:16
「パニック」へのトラックバック

2004年08月10日

「パニックその後」行動記録/日記

昨日断りきれないネットワーク設定の仕事にいってきたのでその顛末など。

知り合いの会社が、それまでダイアルアップだったのを光ファイバーにして、 ルーターだのVoIPなどを入れ、それまで4台あったマシンがそれぞれ独立して いたのをLANでつなごうということになった。で、NTTの光ファイバーの 配線工事のときにその技術者に(おそらく半ば強引に)4台のマシンの ネットワーク設定をやってもらった。が、なぜか4台のうち3台のマシンが 他のマシンから見えない。

マシンはXPホームエディションでネットワーク設定はワークグループを利用して いるのだが、普通はよほどヘンな間違いがなければ相互に見えるはず。

電話工事の人は結局このトラブルを解決できず、 次に回るところがあるからといって帰ってしまった。 困ったのは残された人たち。 せっかくルーターやらなんやら入れたのに、全然社内LANになっていない。 メールやブラウジングができるだけ。

ていうか、いくら手に余るからといって、途中でほっぽり出して帰ってしまうのは いかがなものかと。

この手の尻拭いをさせられるのもなかなか大変だが、 最初の1時間はなぜこれでホスト同士が見えないのかが分からず焦った。 ネットワークの設定は確かにできているのにNetBIOSのコネクションが 全然確立しない。 ケーブルはちゃんと繋がっている。ブラウジングはできる。 しかし、ピンは通らない。 1台だけはちゃんとなっていて、他の3台から見える。 なのに他の3台は全然駄目。

ふと、気付いたのが、ウィルスバスターのパーソナルファイアーウォール。 こいつが犯人だった。 それまでダイアルアップでつなげていたので、ファイアーウォールの設定は もっともきつい設定になっていた。要するに「自分以外はみんな敵」の設定だったのだ。 おかげで隣の机にあるマシンでさえ通信が遮断されていて、 それでマイクロソフトネットワークが機能していなかっただけだったのだ。 ルーターにはちゃんとファイアーウォールが設定されているので、 いっそのことパーソナルファイアーウォールをオフにしたら問題解決。

その後、社内LANでつかえる程度にファイアーウォールの設定を緩めておしまい。 この手のトラブルは、開けてみるとあっけないほど単純なことが原因に なってるんだなぁとしみじみ。

ところで、この手のトラブルは連鎖するのだろうか。

今朝別のところから電話がかかってきてインターネットに繋がらないとのこと。 昨日のとは別のところで、もうちょっとだけ大きな会社で一つの部署に 20台ほどマシンがあるようなところで、社内のファイルサーバーとかの 管理を引き受けているところから緊急コールが。 ほんとうはこういう開発と関係ないところの仕事はあまりやりたくないのだが、 ここもいろいろなしがらみから断りきれなくてやっている。 ここは半年に1度ほどウィルス騒ぎとか今回のようにネット断絶騒ぎとかがある。

やっぱりある程度の規模になったら、社内LANの管理を完全に外まかせにしちゃダメなんだよねぇ…。 専任でなくていいからとっさに対応できる人をやとってくださいとお願いして いるのだが、どうもそうはならない。

で、いってみたら、ADSLのモデムが死んでました。 幸いな事にモデムは買取でなくレンタルだったのでNTTに電話して事なきを得た。 が、NTTが来るまでの4時間ほどなんにもすることがなくて暇だったなぁ。 かといって技術的な話になるだろうから帰るわけにも行かず、 結局早川のSF読んで時間潰してました。

NTTの人が来たら、モデムを新しいのに替えて、一件落着。30分ほどで終わりました。

今週やるつもりでいた仕事の予定の2/5がすでに別の用事でつぶれたわけか。 OOEnkai金曜日夕方までに終わらせるにはあと二日半か…。 こういうときに限っていろいろかさなることがありがち。 けっして自分のマシンだけは落ちませんように。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/51
「パニックその後」へのコメント  コメントを書く
「パニックその後」へのトラックバック

2004年08月14日

「宴会『梁の家』」OO百韻

今月のオフは13日に新大久保の韓国料理屋『梁の家』で19時から。 オフの経緯とか参加者については小林さんの日記にちょびっと解説されている。

19時ちょうどぐらいに行ったら、すでに小林さん以外が全員そろっていた。

韓国料理らしく食べ物は全て唐辛子尽くしで辛味が強かった。肉がいっぱい。 蟹の唐辛子漬けがちょっと臭いがきつくて残してしまった。 最初茶色い色したのが出てきてちょっとびびったが、3日ワインに漬けたという豚の焼肉がとても美味。スキヤキも独特な汁の味付けで美味かった。 が、ウーロン茶にはゴミが入っていた。

小林さんがS2をやるように説得されている話、各種少女漫画の話、 中学の問題だという幾何の問題、Junさんが行方不明の話、 ハードの限界がソフトの並列化を促進するだろうがそれは宣言的なプログラミングになるかもしれないという話、MDAの本には良い本が少ない話、など。

かなり酔っ払ってた人多数。お土産に韓国海苔。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/52
「宴会『梁の家』」へのコメント  コメントを書く

あの問題は解けました?

Posted by koichik at 2004年08月14日 03:14

まだ。これから仕事の用事で出かけるので帰ってきたらやってみます。

三角関数を使っていくつかの辺の長さを強引に計算することで解く方法はメドがついた(と思う)。

中学生レベルの知識で補助線だけで解く方法は分からない。

Posted by yuntanach at 2004年08月14日 12:00
「宴会『梁の家』」へのトラックバック

2004年08月22日

「三重」行動記録/日記

土日と私用で三重県に行ってきた。

婚約者の実家が三重で、土曜の晩は泊めてもらう。

日曜日、伊勢神宮に連れていかれる。 泊まることになったとき、伊勢神宮に行ったことあるかと聞かれたので ないと答えたところ、がぜん張り切られてしまう。

何百年もの歴史ある場所を訪れることは、それなりに有意義ではあった。 とくにおかげ横丁は面白かった。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/54
「三重」へのコメント  コメントを書く
「三重」へのトラックバック

2004年08月24日

「回転ベクトル表示ソフト」行動記録/日記

かれこれ7年ほどおつきあいのある大学病院のお医者さんから、 新しい仕事の話が舞い込む。

なんでも計測したデータをもとに作った回転ベクトルを3Dで表示したいということ。

最近の眼球運動の研究では、回転を表すのに四元数を使うのが流行らしい。 四元数は有名なところでは量子力学などで素粒子のスピンを表現するに使われている(らしい)。 アポロ計画で宇宙船の姿勢制御でも応用された。 最近では、プレイステーション2で3Dモデルの表示にも使われている。 もちろんウィンドウズのDirect3Dにもサポート関数が用意されている。

ところがこの四元数は、もともと理論物理で発展してきた数学であるので、 勉強しようと思うとなかなかひとすじ縄ではいかない。 単純に3Dモデルの表示に使うだけなら公式に当てはめるだけですむのでなんともないのだが、ちゃんとその意味や論理背景から把握しようとするとたちまち難しくなる。 いちいちテンソル解析やらスピノールやらといった理論物理の概念が満載なのだ。 そういう部分ではハードルが高い分野であると言える。

それが医療分野でも眼球運動の研究に四元数を利用する研究者がいるらしい。 教授も論文を読んでいて四元数に関する部分は適当に素通りしていたらしいのだが、 どうやらそうは言ってられなくなったということらしい。 ここ2年ぐらい、そんな話がちらほらでていたのだが、 正式に仕事の依頼にはなっていなかった。

というわけで四元数による回転ベクトルを3Dで表示するソフトと、 四元数の数学的背景に関するレクチャーをやることになった。

期限は1ヶ月。これから四元数を勉強だ。大丈夫だろうか…。

この記事のトラックバック用 Ping URL: http://www.mediaware.jp/blog/mt-tb.cgi/55
「回転ベクトル表示ソフト」へのコメント  コメントを書く
「回転ベクトル表示ソフト」へのトラックバック
@@@@