Home日記コラム書評HintsLinks自己紹介
 

2006年1月のアレ

まあ日記というのか、そういうものだ。

← 2005-12 | 日記一覧 | 2006-02 →

2006年1月31日

急な用事ができて休み。

2006年1月30日

アッという間に1月があと2日という状態になってしまった。

§

VAIO BX のインストール作業。 ほとんど終わりである。

lhaca。ダウンロードして、 インストール先ドライブを D: に変更。 あとはデフォルトのまま。

Firefox。 既に入っているのだが、 C:\Documents and Settings\mai\Application Data\Mozilla\Firefox に VAIO Z からデータをコピー。

Thunderbird。 一度インストールしたのだが、 今までのメールがうまく移せなかったので、 uninstall する。 その後、 C:\Documents and Settings\mai\Application Data\Thunderbird\Profiles に元のデータをコピーしてからインストール。 今度はうまくいったような気がする。

Perl。 ActivePerl からダウンロードして D: にインストール。 だんだん書くのも面倒になってきたが、 おおむねデフォルト。

今回は jperl をインストールしない。 ということで、実はこのページの更新にも一部 jperl を使っていたのだが、 そのあたりをスクリプトを呼び出す bat ファイルの修正で対応する。 また、今まで C:\Perl\bin がパスになっていたので、 D:\Perl\bin に修正が必要になってしまった。

MySQL。 これは関連ファイルをコピーしただけで問題なく動作した。 D:\mysql にインストールしてあるのだが、 起動は \mysql\bin\mysqld を手動で立ち上げていたので問題なし。 サービスとして登録したりするのであれば、 何かしないといけないはず。 また、インストーラーを起動させていないので、 「プログラムの削除」で uninstall できないことになる。

tomcat 5.1.15。 これもコピーするだけだが、 VAIO Z からコピーし損ねていたために手間がかかった。 一度 full copy した後で、 5.1.15 をインストールして、 さらに incremental copy したのだが、 ソフトをインストールしたときには timestamp がかなり古いファイルが新たに生成されることがあるので、 最終 incremental copy でコピーできないファイルが多数あったようである。

とりあえず、3日程度にやったことを思い出して、 怪しいところは full copy することで対処した。

Eclipse。 これが意外と困ったのである。 とりあえず、最新版の 3.1.2 をダウンロードしてインストール。 ここまでは流石に問題ないのだが、 問題は plugin である。 何を追加したのかメモっておかないからわからなくなってしまう。

com.sysdeo.eclipse.tomcat_3.1.0.beta
org.apache.ant_1.6.5
org.apache.lucene_1.4.3
org.apache.xerces_2.7.0
org.eclipse.ant.core_3.1.1.jar
org.eclipse.ant.ui_3.1.1.jar
org.eclipse.birt.chart.device.extension_1.0.1
org.eclipse.birt.chart.device.svg_1.0.1
org.eclipse.birt.chart.engine.extension_1.0.1
org.eclipse.birt.chart.engine_1.0.1
org.eclipse.birt.chart.examples_1.0.1
org.eclipse.birt.chart.reportitem_1.0.1
org.eclipse.birt.chart.ui.extension_1.0.1
org.eclipse.birt.chart.ui_1.0.1
org.eclipse.birt.core_1.0.1
org.eclipse.birt.doc_1.0.1
org.eclipse.compare_3.1.1.jar
org.eclipse.core.boot_3.1.0.jar
org.eclipse.core.commands_3.1.0.jar
org.eclipse.core.expressions_3.1.0.jar
org.eclipse.core.filebuffers_3.1.0.jar
org.eclipse.core.resources.compatibility_3.1.0.jar
org.eclipse.core.resources.win32_3.1.0.jar
org.eclipse.core.resources_3.1.0.jar
org.eclipse.core.runtime.compatibility_3.1.0.jar
org.eclipse.core.runtime_3.1.1.jar
org.eclipse.core.variables_3.1.0.jar
org.eclipse.debug.core_3.1.0.jar
org.eclipse.debug.ui_3.1.1.jar
org.eclipse.draw2d.doc.isv_3.1.1
org.eclipse.draw2d_3.1.1.jar
org.eclipse.emf.common_2.1.0.jar
org.eclipse.emf.ecore.xmi_2.1.0.jar
org.eclipse.emf.ecore_2.1.0.jar
org.eclipse.emf.edit_2.1.1.jar
org.eclipse.gef.doc.isv_3.1.1
org.eclipse.gef.examples.flow_3.1.1.jar
org.eclipse.gef.examples.logic_3.1.1.jar
org.eclipse.gef.examples.shapes_3.1.1.jar
org.eclipse.gef.examples.source_3.1.1
org.eclipse.gef.examples.text_3.1.1.jar
org.eclipse.gef.source_3.1.1
org.eclipse.gef_3.1.1.jar
org.eclipse.help.appserver_3.1.0.jar
org.eclipse.help.base_3.1.0.jar
org.eclipse.help.ui_3.1.1.jar
org.eclipse.help.webapp_3.1.0
org.eclipse.help_3.1.0.jar
org.eclipse.jdt.core_3.1.1.jar
org.eclipse.jdt.debug.ui_3.1.1.jar
org.eclipse.jdt.debug_3.1.1
org.eclipse.jdt.doc.isv_3.1.1
org.eclipse.jdt.doc.user_3.1.1
org.eclipse.jdt.junit.runtime_3.1.0
org.eclipse.jdt.junit_3.1.1
org.eclipse.jdt.launching_3.1.0.jar
org.eclipse.jdt.source_3.1.1
org.eclipse.jdt.ui_3.1.1.jar
org.eclipse.jdt_3.1.0.jar
org.eclipse.jem.util_1.1.0.1
org.eclipse.jface.text_3.1.1.jar
org.eclipse.jface_3.1.1.jar
org.eclipse.ltk.core.refactoring_3.1.0.jar
org.eclipse.ltk.ui.refactoring_3.1.1.jar
org.eclipse.osgi.services_3.1.1.jar
org.eclipse.osgi.util_3.1.1.jar
org.eclipse.osgi_3.1.1.jar
org.eclipse.pde.build_3.1.0
org.eclipse.pde.core_3.1.1.jar
org.eclipse.pde.doc.user_3.1.1
org.eclipse.pde.junit.runtime_3.1.0
org.eclipse.pde.runtime_3.1.1.jar
org.eclipse.pde.source_3.1.1
org.eclipse.pde.ui_3.1.1.jar
org.eclipse.pde_3.1.0.jar
org.eclipse.platform.doc.isv_3.1.1
org.eclipse.platform.doc.user_3.1.1
org.eclipse.platform.source.win32.win32.x86_3.1.1
org.eclipse.platform.source_3.1.1
org.eclipse.platform_3.1.1
org.eclipse.rcp.source.win32.win32.x86_3.1.1
org.eclipse.rcp.source_3.1.1
org.eclipse.rcp_3.1.0.jar
org.eclipse.sdk_3.1.1
org.eclipse.search_3.1.1.jar
org.eclipse.swt.win32.win32.x86_3.1.1.jar
org.eclipse.swt_3.1.0.jar
org.eclipse.team.core_3.1.1.jar
org.eclipse.team.cvs.core_3.1.1.jar
org.eclipse.team.cvs.ssh2_3.1.0
org.eclipse.team.cvs.ssh_3.1.0.jar
org.eclipse.team.cvs.ui_3.1.1.jar
org.eclipse.team.ui_3.1.1.jar
org.eclipse.text_3.1.1.jar
org.eclipse.tomcat_4.1.30.1
org.eclipse.ui.browser_3.1.1.jar
org.eclipse.ui.cheatsheets_3.1.1.jar
org.eclipse.ui.console_3.1.0.jar
org.eclipse.ui.editors_3.1.1.jar
org.eclipse.ui.externaltools_3.1.1.jar
org.eclipse.ui.forms_3.1.0.jar
org.eclipse.ui.ide_3.1.1.jar
org.eclipse.ui.intro_3.1.1.jar
org.eclipse.ui.presentations.r21_3.1.0.jar
org.eclipse.ui.views_3.1.1.jar
org.eclipse.ui.win32_3.1.0.jar
org.eclipse.ui.workbench.compatibility_3.1.0
org.eclipse.ui.workbench.texteditor_3.1.1.jar
org.eclipse.ui.workbench_3.1.1.jar
org.eclipse.ui_3.1.1.jar
org.eclipse.update.configurator_3.1.0.jar
org.eclipse.update.core.win32_3.1.0.jar
org.eclipse.update.core_3.1.1.jar
org.eclipse.update.scheduler_3.1.0.jar
org.eclipse.update.ui_3.1.1.jar
org.eclipse.wst.common.emf_1.0.0.jar
org.eclipse.wst.common.emfworkbench.integration_1.0.0.jar
org.eclipse.wst.common.environment_1.0.0.jar
org.eclipse.wst.common.frameworks.ui_1.0.0.jar
org.eclipse.wst.common.frameworks_1.0.0.jar
org.eclipse.wst.common.ui_1.0.0.jar
org.eclipse.wst.common.uriresolver_1.0.0.jar
org.eclipse.wst.dtd.core_1.0.0.jar
org.eclipse.wst.sse.core_1.0.0.jar
org.eclipse.wst.sse.ui_1.0.0.jar
org.eclipse.wst.validation.ui_1.0.0.jar
org.eclipse.wst.validation_1.0.0.jar
org.eclipse.wst.xml.core_1.0.0.jar
org.eclipse.wst.xml.ui_1.0.0.jar
org.eclipse.xsd_2.1.1.jar
org.hibernate.eclipse.console_3.1.0.beta2
org.hibernate.eclipse.help_3.1.0.beta2
org.hibernate.eclipse.mapper_3.1.0.beta2
org.hibernate.eclipse_3.1.0.beta2
org.junit_3.8.1
ru.nlmk.eclipse.plugins.profiler
tk.eclipse.plugin.htmleditor_1.6.7
tk.eclipse.plugin.jsf_0.1.8

これに対して、 3.1.2 をインストールした直後の状態。

org.apache.ant_1.6.5
org.apache.lucene_1.4.3
org.eclipse.ant.core_3.1.1.jar
org.eclipse.ant.ui_3.1.2.jar
org.eclipse.compare_3.1.1.jar
org.eclipse.core.boot_3.1.0.jar
org.eclipse.core.commands_3.1.0.jar
org.eclipse.core.expressions_3.1.0.jar
org.eclipse.core.filebuffers_3.1.2.jar
org.eclipse.core.resources.compatibility_3.1.0.jar
org.eclipse.core.resources.win32_3.1.0.jar
org.eclipse.core.resources_3.1.2.jar
org.eclipse.core.runtime.compatibility_3.1.0.jar
org.eclipse.core.runtime_3.1.2.jar
org.eclipse.core.variables_3.1.0.jar
org.eclipse.debug.core_3.1.2.jar
org.eclipse.debug.ui_3.1.2.jar
org.eclipse.help.appserver_3.1.0.jar
org.eclipse.help.base_3.1.0.jar
org.eclipse.help.ui_3.1.1.jar
org.eclipse.help.webapp_3.1.0
org.eclipse.help_3.1.0.jar
org.eclipse.jdt.core_3.1.2.jar
org.eclipse.jdt.debug.ui_3.1.2.jar
org.eclipse.jdt.debug_3.1.1
org.eclipse.jdt.doc.isv_3.1.2
org.eclipse.jdt.doc.user_3.1.1
org.eclipse.jdt.junit.runtime_3.1.0
org.eclipse.jdt.junit_3.1.1
org.eclipse.jdt.launching_3.1.0.jar
org.eclipse.jdt.source_3.1.2
org.eclipse.jdt.ui_3.1.2.jar
org.eclipse.jdt_3.1.0.jar
org.eclipse.jface.text_3.1.2.jar
org.eclipse.jface_3.1.1.jar
org.eclipse.ltk.core.refactoring_3.1.0.jar
org.eclipse.ltk.ui.refactoring_3.1.1.jar
org.eclipse.osgi.services_3.1.2.jar
org.eclipse.osgi.util_3.1.1.jar
org.eclipse.osgi_3.1.2.jar
org.eclipse.pde.build_3.1.2
org.eclipse.pde.core_3.1.1.jar
org.eclipse.pde.doc.user_3.1.2
org.eclipse.pde.junit.runtime_3.1.0
org.eclipse.pde.runtime_3.1.1.jar
org.eclipse.pde.source_3.1.2
org.eclipse.pde.ui_3.1.2.jar
org.eclipse.pde_3.1.0.jar
org.eclipse.platform.doc.isv_3.1.2
org.eclipse.platform.doc.user_3.1.1
org.eclipse.platform.source.win32.win32.x86_3.1.2
org.eclipse.platform.source_3.1.2
org.eclipse.platform_3.1.2
org.eclipse.rcp.source.win32.win32.x86_3.1.2
org.eclipse.rcp.source_3.1.2
org.eclipse.rcp_3.1.0.jar
org.eclipse.sdk_3.1.2
org.eclipse.search_3.1.2.jar
org.eclipse.swt.win32.win32.x86_3.1.2.jar
org.eclipse.swt_3.1.0.jar
org.eclipse.team.core_3.1.1.jar
org.eclipse.team.cvs.core_3.1.1.jar
org.eclipse.team.cvs.ssh2_3.1.0
org.eclipse.team.cvs.ssh_3.1.0.jar
org.eclipse.team.cvs.ui_3.1.1.jar
org.eclipse.team.ui_3.1.1.jar
org.eclipse.text_3.1.1.jar
org.eclipse.tomcat_4.1.30.1
org.eclipse.ui.browser_3.1.1.jar
org.eclipse.ui.cheatsheets_3.1.1.jar
org.eclipse.ui.console_3.1.2.jar
org.eclipse.ui.editors_3.1.1.jar
org.eclipse.ui.externaltools_3.1.1.jar
org.eclipse.ui.forms_3.1.0.jar
org.eclipse.ui.ide_3.1.1.jar
org.eclipse.ui.intro_3.1.1.jar
org.eclipse.ui.presentations.r21_3.1.0.jar
org.eclipse.ui.views_3.1.1.jar
org.eclipse.ui.win32_3.1.0.jar
org.eclipse.ui.workbench.compatibility_3.1.0
org.eclipse.ui.workbench.texteditor_3.1.2.jar
org.eclipse.ui.workbench_3.1.2.jar
org.eclipse.ui_3.1.2.jar
org.eclipse.update.configurator_3.1.0.jar
org.eclipse.update.core.win32_3.1.0.jar
org.eclipse.update.core_3.1.2.jar
org.eclipse.update.scheduler_3.1.0.jar
org.eclipse.update.ui_3.1.1.jar
org.junit_3.8.1

ということは、差を比較すると、このあたりを追加する必要があることがわかる。

org.apache.xerces_2.7.0
org.eclipse.birt.chart.device.extension_1.0.1
org.eclipse.birt.chart.device.svg_1.0.1
org.eclipse.birt.chart.engine.extension_1.0.1
org.eclipse.birt.chart.engine_1.0.1
org.eclipse.birt.chart.examples_1.0.1
org.eclipse.birt.chart.reportitem_1.0.1
org.eclipse.birt.chart.ui.extension_1.0.1
org.eclipse.birt.chart.ui_1.0.1
org.eclipse.birt.core_1.0.1
org.eclipse.birt.doc_1.0.1
org.eclipse.draw2d.doc.isv_3.1.1
org.eclipse.draw2d_3.1.1.jar
org.eclipse.emf.common_2.1.0.jar
org.eclipse.emf.ecore.xmi_2.1.0.jar
org.eclipse.emf.ecore_2.1.0.jar
org.eclipse.emf.edit_2.1.1.jar
org.eclipse.gef.doc.isv_3.1.1
org.eclipse.gef.examples.flow_3.1.1.jar
org.eclipse.gef.examples.logic_3.1.1.jar
org.eclipse.gef.examples.shapes_3.1.1.jar
org.eclipse.gef.examples.source_3.1.1
org.eclipse.gef.examples.text_3.1.1.jar
org.eclipse.gef.source_3.1.1
org.eclipse.gef_3.1.1.jar
org.eclipse.jem.util_1.1.0.1
org.eclipse.wst.common.emf_1.0.0.jar
org.eclipse.wst.common.emfworkbench.integration_1.0.0.jar
org.eclipse.wst.common.environment_1.0.0.jar
org.eclipse.wst.common.frameworks.ui_1.0.0.jar
org.eclipse.wst.common.frameworks_1.0.0.jar
org.eclipse.wst.common.ui_1.0.0.jar
org.eclipse.wst.common.uriresolver_1.0.0.jar
org.eclipse.wst.dtd.core_1.0.0.jar
org.eclipse.wst.sse.core_1.0.0.jar
org.eclipse.wst.sse.ui_1.0.0.jar
org.eclipse.wst.validation.ui_1.0.0.jar
org.eclipse.wst.validation_1.0.0.jar
org.eclipse.wst.xml.core_1.0.0.jar
org.eclipse.wst.xml.ui_1.0.0.jar
org.eclipse.xsd_2.1.1.jar
org.hibernate.eclipse.console_3.1.0.beta2
org.hibernate.eclipse.help_3.1.0.beta2
org.hibernate.eclipse.mapper_3.1.0.beta2
org.hibernate.eclipse_3.1.0.beta2
ru.nlmk.eclipse.plugins.profiler
tk.eclipse.plugin.htmleditor_1.6.7
tk.eclipse.plugin.jsf_0.1.8

これこそコピーすればすみそうな気がするが、 ちょっと作業が入っているので、 後回しにすることにして、 3.1.1 から起動して使うことにした。

というか、 Eclipse はインストールといっても適当なディレクトリにコピーして起動するだけだから、 単に以前のバージョンのものを起動するだけなのだが。

2006年1月29日

今日の一言。 ヌデレバに粟。

大阪国際女子マラソン。 予想通りの展開といっていいだろう。 多少、最後は流したような感じがしないでもないが、 もし競り合いになってもスパートかけられる程度の余力を残して走った、 みたいな?

何かカッコいい感じですよね、 ヌデレバ。 そういえば、A.ヌデレバという選手も10位あたりに入っていたようだが、 どういう関係だろう?

§

livedoor メール 利用規約 には次のように書いてある。

本サービスは、「livedoor ID サービス」利用規約第20条に基づき、本規約の第1条で定めるいずれかの利用方法により90日以上利用がないとライブドアで判断した場合、 livedoorメールアドレスの利用資格喪失となり、送受信されたメール、及び、本サービスに関連する情報を全て削除するものとします。なお、資格が喪失してから再び、利用を開始した場合は、再び、同じサービスを利用開始することができるものとします。

メールが消されるだけではなく、 メールアドレスも含む情報が全部消えるらしい。 昨年12月にその処理が行われているのだが、 私はどうなったのかと今頃不安になってアクセスしてみたら、 ちゃんと使えた。 たまに自分宛のメールに使うことがあるのだ。 いや、もちろんそれ以外のメールにも使っているのだが、 ここ半年程度使っていないので。

§

最近行く暇がなかった図書館、 確率論系の本を2冊借りた。

自動貸出機というのがあったので使ってみた。 バーコードをスキャンさせるので、 図書館で貼り付けたバーコードをスキャンできるように上面に向けるのがコツ。 慣れたら簡単なものだが、 最初分からないでエラーが続発して、困った。 隣に慣れた人が来て、ささっと処理していたのを見ることができたので、 一瞬で問題解決。

ということは、ビデオヘルプみたいなのがあったら分かりやすいってことか。

§

ベローチェで原稿書き。 超混雑していた。 2人で途方にくれていたご夫婦がいたので、 2人席を自主退席してカウンター席に移ったのだが、 2人で行動できるのだったら、 事前に席を確保してから注文した方がいいと思った。

こっちは窓際に行きたいということもあったので、 別にどうってことはない。

長期化しそうな雰囲気なので、 その後、カフェオレを頼んでみたら、 きっちりカップに100%注いでくれたために、 持ち運びにハイスキルが必要な状態に。 途中で挫折して、少しすすってから運んだ。 というか、最初からそうすればいいのだ。 人のことはよく気付くが、 自分の行為はどうも間抜けだ。

2006年1月28日

VAIO BX への移行作業。 データをおおむねコピーした。 画像データが意外と多いことが分かった。 CD-R に焼いて分散させて保存しておいた方がよさそうだ。

というか、途中で disk full になってやり直しだ。

§

ベイズの定理。

Pr(E|F) = Pr(F|E)Pr(E) / Pr(F)

2006年1月27日

今頃このページの昨年12月分を過去日記に追い出した。

§

予約しておいた I''s Pure の 2 がキター。

西永福駅が出てくるのだが、 1度か2度 懐かしい感じがした。 井の頭線の雰囲気がよく出ていると思う。 まあでもそんなに回想シーンにしなくてもいいような気がするのだが。

とりあえず1と3もリンク張っておく。

あと、ちょっと気になっているのが Hellsing。 この前、TVK で深夜に放送していた。

以前、TVで放送していたが、 それとは別物である。 私は原作を後から読んだので、その時は気付かなかったが、 このアニメは結構酷評されているようだ。 後で原作を読んで分かったが、 確かに、原作のおどろおどろしさが全然出ていないというか、 別のストーリーになってしまっている。

別物のアニメだと思えば、そう悪い出来ではないと思うのだが、 原作のファンとしては納得できなかっただろう。 ということで、今回 OVA 化されたのは、 原作通り進むという噂なのだが、 TVK でみた感じでは、かなりおどろおどろしいというか、 期待できそうな感じがした。 放送していたのは、最初のバンパイヤと一緒に婦警を撃ちぬくシーンと、 アンデルセン神父と戦うシーンだが、

2006年1月26日

VAIO BX のインストール作業の続き。

LimeChat。 ダウンロードして、実行。 インストール先フォルダを D:\Program Files\LimeChat に変更し、他は全てデフォルトでインストールする。

起動すると、 LimeChat のインストール、という画面が出てくる。 「最低限の設定を始める」 が選択されているので、そのまま進める。 ニックネームを phinloda として、 IRCサーバーはirc.nara.wide.ad.jp となっているのを、そのまま使う。

次に、 「起動と同時に接続する」 がチェックされていることを確認して、 接続したときに入るチャンネルに #FPROG:*.jp を追加し、 #IRC談話室、 を削除する。

接続できることを確認する。 メニューバーの「設定」からメニューを表示して 「設定」を選択してダイアログを表示し、 「ログ」のタブを選択する。 ログを保存する位置を「D:\logs」と指定し、 「すべてのチャンネルのログを自動でファイルに保存する」 を選択して OK を押す。

UTF-8 TeraTerm Pro with TTSSH2。 ダウンロードして実行。 インストール先は D:\Program Files\teraterm に変更する。 途中、 Create Shortcut のダイアログで、 Create Shortcut in "Quick Launch" のチェックを外す。

VNC Viewer。 インストール。 Select Destination Location のところで、 D:Program Files\RealVNC\VNC4 を指定。 Select Components で、 VNC Server を入れるかどうかで迷うが、 滅多に使わないというか、 ここ1年使った記憶がないので、 チェックを外す。 Select Additional Tasks のところで、 Create a VNC Viewer desktop icon にチェックを入れる。

Ethereal。 ターゲットを D: に変更しただけで、 後はデフォルト。

さて、VAIO Z の D: ドライブ直下を全部コピーした。 これを VAIO BX の D: にコピーすれば…。

というか、外付け USB ドライブなんだから、 そのまま使えばいいじゃん、みたいな。 まあノートpc の場合、モバイビリティ(って言葉あるのか?)が重要だから、 そういう訳にもいかないのだが。

§

ソニーが業績予想を大幅に上方修正。 そうだ、これを待っていたのだ。 PS3 が出るまで手放さないと誓ってから随分精神的にやられたものだが、 これは流石に好材料以外のナニモノでもないだろう。

2006年1月25日

ライブドアの株価、暴落中なのだが、 今日は取引が成立したようだ。 現在管理ポストでしたっけ、 何か特殊な状態ではあるが、 まだ上場している。 しかも、この株、1株から買える。 普通は、1000株とか100株単位でないと購入できないとか、 1株単位の場合は、1株てん数十万円するとか、 そういうものなのだが、 ライブドアの場合は、 1株数百円で、1株単位で購入できるようになっていて、 これも個人投資家には魅力的だったわけで、 株で金を集めたというのは別に偶然の産物ではなく、 こういう地道な努力がいたるところにあった訳だな。

さて、いまさら購入しても、 上場廃止になる可能性も高いと思われるが、 とにかく1株でも買えるわけだから、 記念に買ってみるという手もある。 というか、買ったらどうなるのだろうか? いや、どうもならないとは思うが。

手数料の方が高くなったりして、 証券会社が丸儲けという説もありそうだが、 記念買いなんてのは普通の取引ではありえないような気がする。

2006年1月24日

VAIO BX のインストール作業。 かなりご無沙汰しているが、 別に使っていないのではなくて、 どうも移行がなかなか進まないので、 DVD-R 作成マシンと化しているのだ。 月曜から完全移行しようと思っていたのだが、破綻した。 雪のせいにしておこう。

ということで、インストール作業の続き。 PHS のカード、Air-H"。 最近は AIR-EDGE というのですか、よく分からないが、 とにかく、Web で MC-P300 というのを検索してモデム設定ファイルを getし、 まず何も考えずにカードをスロットにinsert。 標準モデムとして認識されてしまうのだが、 ハードウェアのデバイスの所でデバイスドライバの更新を指定、 ダウンロードしたファイルを展開したフォルダを指定すれば、 専用の設定になる。 これで、 @nifty の AIR-EDGE の常時接続の設定を行い、接続テスト。 ok。

2006年1月23日

みずほ銀行が22日から、インターネットバンキングのセキュリティを強化した、 というアナウンスを出している。 アナウンス中に、ログインできないという問い合わせが多数発生している、 と書いてある。

本人もログインできないとは、 凄いセキュリティだ。

2006年1月22日

寒いですねぇ、温暖化というのがウソみたいだが、 一所懸命 CO2 を削減していたらうっかり氷河期になってしまった、 みたいなことはないのだろうか。

2006年1月21日

あなたの後を、何となくついていきたくなる、という天気のようだ。 ストーカーじゃないぞ。

§

今作っているソフトで Sen を使わせていただくつもりなのだが、 そういえば、 Sen Project って最近はどうなっているのだろう。 トップページに 変更点がきっちり公開されていて、 私も見習わなければならないと思うが、 日付が入っていたら、さらによいと思う。

英単語も使えるように拡張するにはどうすればいいのだろう?

2006年1月20日

Windows XP の socket の同時接続数の話。 よく分からないが、 MaxConnectionsPerServer というキーがあるらしい。 特にどこが分からんかというと、 これが google とかで検索したら MaxConnectionPerSerer と書いてあるサイトがあるあたりが分からん。

§

いわゆる「ライブドアショック」の件。 マネックスショックという説があるのだが、 報道では「狼狽売り」という何か釈然としない一言が目立った。

マネックスショックというのは、 マネックス証券が株の先物取引の担保としての株券の扱いを変更したのが売りの引き金になったのでは、という説。 つまり、ライブドアの株を担保にして他の株を購入していた投資家は、 いままで、その時点の株価に一定の比率を掛けた現金がプールされているものとみなして、 それを資金に他の株を買うことができた。 これは常識。 ところが、ライブドアの強制捜査のところで、 マネックス証券はこの比率を0%にしてしまった。 つまり、ライブドア株は担保価値がないということで、 こうなると、それを資金にして他の株を買うことはできない。

しかし、既にライブドアの株を担保にして他の株を買っている人はいるわけで、 その人達はどうすればいいか。 相当額の現金を振り込めばもちろんいいのだが、 そう簡単に現金が出てくる人はあまりいない。 ということで、 「ライブドア株を担保に買っていた株を売る」 というのが、最も安直だが現実的な策になるわけである。 とにかく全部売ってしまえば、新たな資金をプールする必要はない。

売りが殺到すれば、当然、株価は下がる。 このサイクルが、株価の大暴落を引き起こしたのではないか、 という説。

そういうのもあるかもしれないが、 個人的にはもう一つ妄想している原因がある。 つまり、自動取引だ。 最近のネット取引は、割と複雑なプログラミング的な処理が可能になっている。 例えば、 安全対策の一環として、 いきなり下がったときに損切する、 というように、あらかじめ指定しておけるのだ。

ある程度急激な株価下落が発生した時点で、 この種の自動処理が作動して、 大規模な売りが自動的に始まってしまったのではないか、という説。 いやもう妄想以外の何物でもありませんが。

§

http://www-06.ibm.com/jp/developerworks/java/060120/j_j-validating.shtml

バリデータに渡す情報を正規表現で書く、 という話。

そういえば、 ちょっと前に紹介した、 オープンソースサイトの更新チェックプログラムで、 ページのどこにバージョン情報があるかをテストする方法が、 「正規表現を XML に書いておく」というものだった。 いやぁ、ちょっとダサいんじゃないかとか思ったのだけど、 dW に書いてあるとかなりエレガントに見えます。 やはりこういう発想は正統派なのか、 という感じで安心した。

2006年1月19日

歯医者行く。 「ここが少ししみるのですが」 「大丈夫です」 みたいなやりとりする。

隣の人は親知らずか虫歯か知らないが抜いていたようで、 20分ほど綿を噛んでおいてくださいとか言われてた。

結構な強風で寒かったのだが、 かなり防寒系のコートを着ているので平気。

§

コニカミノルタがカメラ事業を終了することを決めた、 というニュース。

長年、SONY のデジカメを買い続けていたのだが、 ついに SONY から離れてコニカミノルタの DiMAGE X1 を買ったのが 昨年。 SONY 信者【謎】なので、 あれだけいろいろあってもまたもや pc は SONY のものを買ったのだが、 なぜデジカメがコニカミノルタになったかというと、 手ぶれ防止機能のついた 800万画素クラスのコンパクトデジカメが、 そのときは SONY のラインナップになかったのだ。 買ったら新モデルとか出るかなと思ったら案の定というか、 600 万画素クラスの手ぶれ防止付き、という新製品は出たのだが、 800 万画素は出てたっけ、出ていたような気もする。

で、なんとコニカミノルタがデジカメからも撤退なのか、 どうなるんだー、と思ったら、 プレスリリース。

…ソニー株式会社(以下ソニー)へ、カメラ事業に係わる資産を譲渡していくことが最適との結論に至り、ソニーと協議をしてまいりました。その結果、2006年3月末にデジタル一眼レフカメラシステムの一部資産をソニーへ譲渡することなどで、本日ソニーと合意*1に達しました。

なんということでしょう。

いや吉報なのか。 私はソニーに憑かれているのかもしれない。 _| ̄|○

また、これまでお使いいただいているコニカミノルタブランドおよびコニカブランド、ミノルタブランドのカメラ・レンズなどのアフターサービスは、ソニーに委託いたします。

サポート消滅なんてことは想定していなかったし、 当然、ありえないと思っていたわけで、 ソニーが引き継いでくれるのならむしろ安心である。

§

cvs サーバーを linux に移そうということで、 ssl で通信するという前提で、ちょっと作業。

# mkdir /cvs
# mkdir /cvs/home
# /usr/sbin/useradd -d /cvs/home/cvs -s /bin/sh cvs
# /usr/sbin/useradd -d /cvs/home/cvsadmin -s /bin/sh cvsadmin
# cd /
# chown cvsadmin.cvsadmin cvs
# cd /cvs
# mkdir chroot
# chown cvsadmin.cvsadmin *
# ln -s chroot/cvs/root root
# ll
合計 20
drwxr-xr-x  2 cvsadmin cvsadmin 4096  1月 20 04:05 chroot
drwxr-xr-x  4 cvsadmin cvsadmin 4096  1月 20 04:01 home
lrwxrwxrwx  1 root     root       15  1月 20 04:07 root -> chroot/cvs/root

しかしこのあたりで力尽きる。

ll って、ls -l の alias なのだが、 これって普通に通じるのだろうか。 私は20年前から使っているのだが。

2006年1月18日

ずっと前から行きたかったところでランチを食べた。

§

chat で噂が流れているらしい。【ときめも?】

2006年1月17日

久しぶりだが、 VAIO BX のセットアップとか。

・iTunes の削除。 というか、インストールした覚えがないので。 QuickTime をインストールしたら自動的にインストールされるのか? 使っていないのに、 iTunesHelper.exe とかいうのが常駐しているのが無茶苦茶気味が悪いから、 アンインストールした。

BX の気になる点の続き。 一緒に買った液晶セキュリティフィルタ、 結構高確率で、フタを開けるときに外れるのですが、 仕様?

ビデオを見ているときに、 ファンが回る。結構うるさいので気になる。 廃熱用ファンの音はかなり大きい。 VAIO Z だと、そう簡単には回らなかったのだが、 CPU の速度差が原因なのだろうか。

どの程度の音かというと、 イヤーパッドタイプのヘッドホンで音声を聴いていて、 その状態でファンの音が聞こえるという程度。

§

昨日は tomcat で SSL 使おうとして、どうしてもダメだったので放棄してきたのだが、 同じことを VAIO Z でやってみた。 Windows XP Professional、 手順は tomcat5 のマニュアル通りである。 (参考: Tomcat5 サーブレット/JSP コンテナ - SSL設定の手引き)

>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -k
eyalg RSA
キーストアのパスワードを入力してください:  changeit
姓名を入力してください。
  [Unknown]:  phinloda
組織単位名を入力してください。
  [Unknown]:  www.phinloda.com
組織名を入力してください。
  [Unknown]:  Phinloda's site
都市名または地域名を入力してください。
  [Unknown]:  Nerima-ku
州名または地方名を入力してください。
  [Unknown]:  Tokyo
この単位に該当する 2 文字の国番号を入力してください。
  [Unknown]:  JP
CN=phinloda, OU=www.phinloda.com, O=Phinloda's site, L=Nerima-ku, ST=Tokyo, C=JP
 でよろしいですか?
  [no]:  yes

<tomcat> の鍵パスワードを入力してください。
        (キーストアのパスワードと同じ場合は RETURN を押してください):

D:\tomcat\jakarta-tomcat-5.5.11>

細かいところは違うが、 だいたいこんな感じでやった訳だ。 さて、これで eclipse から tomcat を起動したのだが。

全然問題なく起動する。

ということで、謎増。

ところで、 https://localhost:8443/ が例のページを表示するのはいいとして、 http://localhost:8443/ をアクセスすると、謎の文字列が送られてくるのはどういう意味なのだろうか?

2006年1月16日

ちょっと更新ペース落ちてきたか。

Windows XP。 こっちのフォルダからこっちに .zip を移動したつもりだったが、 とどうも他の .zip の上でリリースしてしまったらしく、 そちらに吸い込まれてしまった。 事前に確認もせず、 しかも取り消せない。 このような劣悪系のUIが現代に生き残っているというのは知らなかった。

吸い込んだ .zip が j2sdk のドキュメントで、 圧縮した状態で 40MB もある。 というか、Sun のサイトを見ると 33.13MB と表示されているから、 明らかに何かおかしい。 これはもう復旧するのが大変というか諦めた罠。

§

携帯からメールを打とうと思ったらバッテリーが切れた。

§

裏裏で紹介した、 キディ・グレイド。 DVD は Amazon でも購入できるので、 探してみた。

コレクターズエディション

通常版

2006年1月15日

TSUTAYA に行く。 借りてきたの1枚どうしても途中で止まってしまうという報告をしたら、 1枚分、レンタルから差し引いてくれるというので、 そうしてもらったのだが、 ちょうど半額キャンペーンと重なっていたために、 処理がかなりややこしかったらしく、 結構待たされた。

§

国民年金の営業(?)の人がやってきて、 口座振替にした方が若干トクであるというのだが、 なぜここに居ることが分かったのだろうか、 というか、個人情報がどこかに漏れてますか?

2006年1月14日

弘法は筆を選ばずというのだが、 いい筆の方がいい字が書けたりしないのだろうか?

もちろん、 常人よりは、ヘンな筆であっても字は美しいと思うのだが、 例えば、かすれるボールペンでもちゃんと書けるのか。 いくら何でも墨が薄けりゃ濃い字は書けないと思うわけだが、 筆は選ばないといっても墨は選ぶみたいな。 これじゃ一休さんだね。

もっと曲解すれば、 筆を選ばない域に達するには、 日本ランキングトップ3に入る程度の技術がなければダメだ、 ってことだな。

2006年1月13日

Hibernate の話。 O/R マッピングの本質とは何ぞやというと、 オブジェクトをナニするという考え方だけでデータを永続化できるという所だろう。 言い換えると、 DB を意識せずに DB を使えるのがポイントだという話。 HQL というのは、その典型的な例で、 クエリっぽいが、DB には一切依存しないでデータを扱える、 というところがウリのはずである。

例えば、 HQL ではこういう書き方をする。

select m.date from MyClass as m

SQL に似ているが、 出てくる構造はクラスのそれであって、 テーブルがどうなっているとか、 カラムがどうということを、 一切意識しなくてもいい。

と、ここまでが前振りで、 本題。 現実はどうかというと、 Hibernate はマッピングファイルを使ってクラスとDBを関連付ける。 つまり、おもいっきり DB に踏み込んだ世界も見ないといけない。 それを痛感したという話だが、 まず、 UniqueIdAndValue.hbm.xml というマッピングファイルを作る。 マッピングというのはクラスとDBとの対応規則だから、 当然、おもいっきり DB を意識している。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping SYSTEM
          "file:///d:/java/hibernate-3.1/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.phinloda.commons.UniqueIdAndValue"
        table="UIDVALUE">
        <id name="id" type="long" column="id">
            <generator class="increment"/>
        </id>
        <property name="parentId" type="long"/>
        <property name="value" type="java.lang.Object"/>
    </class>
    
</hibernate-mapping>

DOCTYPE のところで file:///d:/java… と書いてあるのは、 いちいちどこか見に行くのがイヤなので、 ダウンロードしてそれを参照しているのだ。 これを使って、 hbm2java で java のソースを生成すると、こんなのができる。

package com.phinloda.commons;
// Generated 2006/01/13 5:07:01 by Hibernate Tools 3.1.0 beta1JBIDERC2



/**
 * UniqueIdAndValue generated by hbm2java
 */

public class UniqueIdAndValue  implements java.io.Serializable {


    // Fields    

     private long id;
     private long parentId;
     private Object value;


    // Constructors

    /** default constructor */
    public UniqueIdAndValue() {
    }

    
    /** full constructor */
    public UniqueIdAndValue(long parentId, Object value) {
        this.parentId = parentId;
        this.value = value;
    }
    

   
    // Property accessors

    public long getId() {
        return this.id;
    }
    
    public void setId(long id) {
        this.id = id;
    }

    public long getParentId() {
        return this.parentId;
    }
    
    public void setParentId(long parentId) {
        this.parentId = parentId;
    }

    public Object getValue() {
        return this.value;
    }
    
    public void setValue(Object value) {
        this.value = value;
    }
   








}

空白が多いのはなぜだといわれてもよく分からない。 hbm2java が出したものをそのまま示しただけだ。

さて、これを使って OR mapping を行って、 別に問題はなさそうだが、 このクラスのオブジェクトを永続化して保存するテーブル名が UIDVALUE だ。 つまり、このクラスをどのプロジェクトというかパッケージで使っても、 同じテーブルにオブジェクトが保存されてしまう。

Hibernate を使う理由の一つが「コーディングのときにDBの中身を意識しない」なら、 それも一つのやり方なのだが、 Web site の情報を保存するプログラムと、 メールの内容を保存するプログラムがあって、 どちらも UniqueIdAndValue クラスを使っているときに、 両方とも同じテーブルに情報が保存されてしまうというのは若干面白くない。

ということで、 Hibernate (3.x) には、同じクラスを複数のテーブルに分けて保存する機能がある。 ( 5.3 Mapping a class more than once )

要するに、 entity-name という識別子を使うことで、 コードの中からはテーブルを意識しなくて済むようになっている。

で、これを使ってテーブルを分けることができるのはいいのだが、 class の定義が複数に分かれてしまうのは、 何となく混乱しそうで怖い。 というか、結局混乱してハマっているのだが、 一箇所に定義を集める方法がいまいち把握しきれていない。 もうちょっと考えてみたい。

§

あるファイルが更新されたときに、 保存してあった内容と同じ状態になったら、 対応する別のファイルを使って上書きしたい。

意味が分からないと思うので具体的に。 ./src/com/phinloda/hoge/hoge.java というファイルがある。 ファイル名は変わらないので区別できないから、 便宜的に、これを ./src/com/phinloda/hoge/hoge.java[1] と書くことにする。

このファイルが更新されて、 ./src/com/phinloda/hoge/hoge.java[2] になった。

ところで、 ./backup/com/phinloda/hoge/hoge.java[2] というファイルがある。 [2] と書いたのは、これは更新したファイルと一致する内容だという意味。

この場合に、 ./restore/com/phinloda/hoge/hoge.java を、 ./src/com/phinloda/hoge/ にコピーしたいという話。 その結果、 ./src/com/phinloda/hoge/hoge.java[1] という状態に戻る。

また、このファイルが更新されて、 ./src/com/phinloda/hoge/hoge.java[3] という状態になったとする。

backup にあるのは、 ./backup/com/phinloda/hoge/hoge.java[2] なので、このファイルの内容は更新されたファイルと一致しない。

このときは、 更新されたファイルをそのままの状態にしておきたい。

という処理を ant でやろうというのだ。 さて、どうする?

2006年1月12日

ちょっと痰が出るようになった。 ってことは本格的な風邪か?

§

今月末で、 多分、表ページが開設10年になるはず。 ということで、何かしようとか思っているのだが、 思っているだけだったりする。

§

Eclipse を使って何していたのだが、 ふと気付くとコミットチャージが 1000MB を超えていた。 重いわけだ。

2006年1月11日

田口メソッドについて調べる。 品質管理手法なのだが、 ソフトウェアの品質管理に使えるかどうか、 というあたりが気になっている。

その前に、ソフトウェアの品質とは何なのか、 というのを明確にしておかなければならない。 JIS の規格があったと思うが、 簡単には数値化できないような感じだったはず。

単純な手法としては、バグの数というのがあるのだが、 テストファーストでソフトウェアを作ると、 そもそもユニット規模でのバグが激減してしまうので、 従来の手法で作成したものと単純比較できないのか、 それとも、ユニットテストをパスしているというのは、 それだけで品質が向上したと考えてよいのか、みたいな。

§

Windows Update する。 珍しく再起動しろと言ってこないが?

Norton AntiVirus は、 更新後に再起動を要求してきた。

2006年1月10日

chat で出た話題なのだが、 1日の睡眠時間が7時間のとき、一番長生きできるという話。

1日5時間睡眠と7時間睡眠で、差は2時間。 365日これを続けると、730時間。これは24時間換算で、約1か月分に相当する。 これを50年続けると、50か月の差になるから、 約4年の差になる。 つまり、5時間睡眠によって4年寿命が短くなったとしても、 チャラだ、という計算。 かなりの誤差はありそうだが。

まあでも、トータルで起きている時間が同じなら、 長生きしたいような気もする。 だた、4年長く生きるということは、 4年分の生活費をどこかで稼いでおかないといけない、ということか。

年金?

§

駅ソバという言葉を最近見かけるのだが、 駅の近辺というよりも、 どうしても駅にある立ち食い蕎麦のようなイメージで見てしまう。

§

DoCoMo の Wireless LAN の件。 何をどうしたのか分からないのだが、 最初の接続でパスワードを尋ねてこなくなって、 時間は多少かかるが、一度で接続できるようになった。 謎。 まあこれなら手間はかからないが…。

実はまだ新 VAIO への移行が未完なので、 そちらにインストールした状態でまたどうなるか確かめてみなくてはなるまい。

2006年1月9日

JSF と Spring の連携のあたりでハマる。 MyFaces だけで inputFileUpload を使うと問題ないのだが、 この処理の bean を Spring 側で定義すると、 .gこんなエラーが発生する。

javax.faces.FacesException: Error calling action method of componont with id MyForm:_id13
        at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)

JSF の Managed bean を使って処理するときには問題は発生しないのだが、 さて、どうすればいいか?

2006年1月8日

Spring Framework。 なぜかエラーが出るのでおかしいと思っていたのだが、 たまたまテキストエディタで開いてみてびっくり。

  <bean name="hoge" …>
    (途中略)
  </bean>
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo…(以下略)
  <bean name="moe" …

こんな感じになっていた。 ooo…と書いたが、 実際は、エディタで45行程度、 そこだけファイルに保存してみたらた、47,500 バイトになった。 こういうテキストが bean の間に挟まっていたのである。

で、問題は何かというと、 これを Eclipse で開いて見ていても、存在に気付かないのだ。 デフォルトエディタは Amateras XML エディタになっているのだが、 そういうものなのだろうか?

§

ちょっとだけ体調が下りぎみ。 ビタミンCをこまめに飲んで調整してみる。

§

狭い部屋というか、机で作業するという夢を見た。 2つの机に3人座るという感じで、 隣の人が机にガムテープを貼ってラインをつくり、 そこからはみ出るなと暗黙の要求をしてくる。 もっとも、その隣の人は、こちらにはみ出てくるのだが。

机を何とかしろと、 電話をかけようとするのだが、 電話機のボタンが異様に小さくて(1mm角程度?)、何度も間違える。 しかも、隣の電話機とボタンの並びが違うという、 UI の教科書にも出てこないような奇天烈な環境だ。

2006年1月7日

3連休ということで、 曇天という予報もあったような気がするが、 まさに雲ひとつない快晴。 ということで、おでかけ。

都営地下鉄のワンデーパスが500円、 うっかり買い忘れることがあるのだが、 今回はきっちりこれを使って移動した。

2006年1月6日

何となく寿司を食いたい気分。 寿司職人はにぎるときの米の数がだいたい分かるという話を聞いた記憶があるのだが、 これは一般的にそうなのだろうか、 それとも、寿司的にも特殊な技能なのだろうか?

2006年1月5日

何だかよく分からないが、 NTT DoCoMo Wireless LAN Service の使い方。 まず起動すると、こういうメッセージというか、 キャッチアップが表示される。

NTT DoCoMo Wireless LAN 1

[接続] ボタンを押すと、 次にこういうのが出る。

NTT DoCoMo Wireless LAN 2

なぜこの2つのメッセージを別々に出さなければいけないのか分からない。 意図的に使いにくくしているのか、 誤操作を誘おうとしているのか、よく分からないが、 1つにまとめた方が劇的に使い勝手が向上することは明白だ。 もしかすると、特許の問題で1回でログインしてはいけない、 なんてことがあるのかもしれない。 もし理由がないのであれば、 私の感覚では、これはUI設計上の不具合としてもいいレベルの問題なのだが。

まあそれはそうとして、 さて、OKボタンを押すと、 次にIDとパスワードを入力する画面が出る。 これはもしかすると、パスワードを保存しておくと出ないのかもしれない。

NTT DoCoMo Wireless LAN 4

パスワードを保存しておいた方がいいかどうか、 微妙である。 パスワードを保存しておけば、 その都度入力するという面倒からは開放される。 ただし、パソコンを盗まれたり、 ちょっと席を外したりしたときに勝手に接続されたり、 といったリスクは増える。 とはいっても、 FPROG の SYSOP をしていたときの習慣が身についているので、 ノートpcから離れる時は、画面ロック状態にしているし、 pc は基本的にワイヤーでどこかに接続してあったりするので、 そこさえ確実にしておけば、パスワードを保存しておいた方がいいかもしれない。 つまり、パスワードをその都度入力するということは、 それを見られるというリスクも発生するのだ。

とりあえず、 OK ボタンを押せば、 このように、 「接続エラー情報」というメッセージが出る。

NTT DoCoMo Wireless LAN 5

この手順を繰り返すと、そのうち接続できる。 今日はこれを30回程度繰り返したら接続できた。 って何かおかしいような気はするのだが、 こんな状況なのは私だけ? それともドコモダケ?

接続してからしばらくすると、 update できるというメッセージが出てきた。 安易に update を実行すると超重い。 というか重杉。 CPU を 100% 使い果たしている。 一体何してるのか謎だが、こういうメッセージが出ている。

NTT DoCoMo Wireless LAN 3

§

Eclipse + JSF + Spring でエラーになってしまう件。 要するに method 定義が抜けていただけ、という間抜けな話だった。

2006年1月4日

今年は4日から仕事が始まる会社が多いと聞いていたのだが、 いざ電車に乗って見るとがらがらだから、 かなり様子が違う。

仕事場に付いてまずpcを起動した。 初ウィルススキャンも起動したようだが、 流石に電源切ってあるときに新たに感染することはないと思うが、 今までのパターンで検地できなかった新たなウィルスが発見できるかもしれない、 というご指摘をいただいた。 それはその通りである。

もう一つ愕然としたのは、 昨年末に購入した、JUSTSYSTEM キーボード、 これはやはりかなり快適だ。 しばらく使っていないと壮快さが分かりやすい。

このキーボードを VAIO と別のpc(デスクトップ)で共有するのがよかろう、 ということで、 pc切替器を買ってきた。 こういうのは一体どれが何なのかさっぱり分からんが、 とりあえず、USBの2系統、というもので、 RATOC の。 モニタも切り替えられるのだが、画面は同時に見たいので、切り替えないで使う。 実際使ってみたら、 結構ややこしい。 慣れることができるかどうか。

とはいっても、 今まではキーボードのUSBコネクタををその都度抜き差ししていたわけで、 そのあたりの耐久性も気になったのだが、 その点は切替器に接続したまま放置できるので有利である。 もっとも、切替器が6,000円弱するわけで、 投資に見合った額なのかどうなのか、微妙なのかもしれない。

これのインストールだが、 単に接続しただけではよく分からない状態になってしまったので、 一旦電源を全部切ってから接続して電源を入れなおした。 マニュアルに書いてある通りにやれってことだ。

§

裏裏で指摘した Copyright 表記の件。 昔、tty時代【謎】の NIFTY SERVE とかは、 表示フォーマットが全く変化しなくても Copyright がどんどん後の年にシフトしていって、 それで本当にいいのか、と思ったものだが…。

どういうことか、説明しておく。 要するに、著作権の保護期間の問題だ。 「著作権が切れた」という言い方をすることがあるが、 つまり、著作権には期限があるのである。 では、いつから著作権は発生するか。 著作権は、著作物が発表されたときではなく、 著作物の創作の時に始まる(第五十一条) ことになっている。 問題は、いつ切れるかだ。 同条に、

著作権は、この節に別段の定めがある場合を除き、 著作者の死後 (共同著作物にあつては、最終に死亡した著作者の死後。次条第一項において同じ。) 五十年を経過するまでの間、存続する。

となっている。 基本的に「死後50年」と覚えておけばいい。 ただし、これには「別段の定め」がある。 それが、無名または変名の著作物や、団体名義の場合である。

もしその著作物が匿名で、誰の作品か分からない場合、 著作者が死んだかどうかも確認できないから、死後50年といわれても困る。 この場合は、 公表後五十年 で著作権は切れる。

もう一つが団体名義の著作物だ。 法人なんてのは、創業400年とかいうこともあるわけで、 いつまでたっても著作物が切れないというのはおかしい。 ということで、法人名義で公表された著作物の著作権も、 公表後五十年 切れることになっている。 これも例外はあるが、細かい話は省略する。

で、どういうことか。 プログラマーズフォーラムのドキュメントがあって、 Copyright が (C) 1988 Programmers' forum だとする。 これは団体名義の著作物だから、 著作権は、公表後50年で切れる。 50年というのは 2038 年だ。

ところが、何も内容を変更しないで、 自動的に年表記を更新していけば、 例えば同じドキュメントの Copyright 表記が (C) 2005 になってしまうかもしれない。 2005から50年後は2055年だ。 どっちが正しいのか。 そういう話である。

とにかく、年が変わったところで自動的に Copyright 表記を入れ替えるのは、 手作業でやると結構面倒だ。 ということで、この裏ページは、 Copyright 表記を perl スクリプトで動的に埋め込んでいた。 index.template という名前のファイルに、 このような表記があったのだ。

<hr>
<p>
(C) $sys_year Phinloda, all rights reserved
</p>

$sys_year が動的に持ってくる箇所である。 これが、forrest と出力と融合するような処理に書き換えたときに、 固定表記になった。

<p style="text-align: right">
(C) 2005 Phinloda, all rights reserved
</p>

perl のスクリプトを確認しても、 ここを固定表記にする必要はない。 ということで、元に戻した。

<p style="text-align: right">
(C) $sys_year Phinloda, all rights reserved
</p>

これでいいはず。

Note

なお、このスクリプトが生成するページは、 前回と変更がない場合には処理しない仕組みになっている。 つまり、更新するときには必ず何か変更されているから、 Copyright 的にはその時点の年を書いてもいいような気がする。 しかし、見た感じは、全部変化しているというより、 部分的に更新されているようだが、年表記を更新してしまっていいのだろうか?
というか「創作の時」というのがよく分からん。
このページの場合、 ant を実行した瞬間が「創作の時」だとみなしていることになる。 まあ実際 build しているのだが。 もっとも、(C) Phinloda というのは、 ペンネームではあるが、 個人が特定できる(法的には、変名の著作物における著作者の変名がその者のものとして周知のものである) から多分、保護期間の原則の方が適用されて、 著作権が切れるのは死後50年になるはずだから、 この年表記は日本の著作権法的にはあまり意味を持たない。

さて、裏裏で「×」評価だったサイトはどうなったか、速報。

○ Nikkansparts.com 2006 になっていました。
× MSN毎日インタラクティブ 10:30現在、2005のまま。
× CNET Japan 10:30現在、2005のまま。

Note

CNET Japan はお昼には 2006 になっていました。 MSN はまだ 2005。

§

ant から perl を起動する (Windows)

  <target name="runperl">
   <exec dir="." executable="C:\Perl\bin\perl.exe">
     <arg value="hoge.pl"/>
   </exec>
  </target>

というか単に exce でプログラム実行するだけだ。 ActivePerl が C:\Perl\bin に入っていて、 パスごと呼び出している。

§

トップページ転載処理分の、 Note を指定した箇所の css が定義されていなかったので、 追加。 ま、適当に。

2006年1月3日

夜食に、ふな寿司の湯づけを食べた。 茶漬けでもいいのだが、 今回は、湯漬け。 冷や飯にふな寿司を乗せて、湯をかける。 それだけだ。

非常に美味であるが、 農家の人にもらった自家用の米を名水で炊き、 名水を沸かした湯をかける、 という、ありえないような環境でないと味わえない逸品。 私の場合、年に一度食えるかどうか、というところである。

§

自動生成するページの Copyright 表記が 2005 のままだったので、 今頃 2006 に変更した。

2006年1月2日

IRC で Rubyist Magazine - qwikWeb の仕組み 【第 1 回】 コンテンツ・フレームワークとしての qwikWeb の話題が出ていた。 その補足。

読みやすさ云々という観点でいえば、 基本的には、 HTML を人間に書かせる、読ませる、 という所で既に方向性が間違っていると思う。 Wiki などに比べると、XML 系の表記は圧倒的に分かりにくい (というか、XML が Wiki より分かりやすければ、Wiki が存在していなかっただろう)。 といいつつ、 この日記も XML で書いているからタグ書きまくりだが (http://forrest.apache.org/dtd/document-v20.dtd)、 こういうのを手で書いていると、 間違えるし、 間違えたときに何処がナニだか分からなくなるし、 結局、間違えるのがイヤなのであまり複雑なことは書かない、 という本末転倒(か?)現象も発生している。

まあしかし、 世の中にはコンピュータという便利なものがあるのだから、 タグは薄い色で表示してタグ以外だけ見易くするとか、 その上で注目したいタグだけを強調するような機能を持っているエディタを使うとか、 「~(し)やすくない」系の問題に関しては、 工夫次第で劇的な改善が可能だ。 ただ、その「コンピュータ」が使える人が滅多にいないというのが問題みたいな。

もちろん、単純なテキストエディタだけ使って編集したいし、 その上で見難い、という意見もあると思うのだが、 そういう難問は老後の楽しみに取っておきたい。

IRC で書いたことの補足として。 xslt の件。 XPath とか、HTML の変形操作の話とか出てくる割に、 xslt の話が出てこないので怪しいのではないか、 というのだが、 折角だから xslt だとどうで、わびさび方式の方が風情があるだろ、 みたいな比較もあれば、もっとプロモーション力が増加すると思うわけだ。 実際、xslt って結構じゃじゃ馬な言語で、 使いこなすのは大変だと思う。

従来の手法では、HTML は文字列であるので、正規表現によるパターンマッチングで判定し

「従来の手法」というのは、perl 等を意識しているのかもしれないが、 やはり従来手法は正規表現だろうか? 最近、Java を使ってHTML とか XML をナニするコードをよく書くのだが、 何となくいきなり parser の callback 書き始めたりすることが多いので、 parser を使わずに正規表現(正規表現というのもある意味 parse しているような気がするが)で HTML を処理するという手法が、 微妙に新鮮な気がしてしまう。

ただ、最近使っている、最新版確認クローラーの処理は、 ターゲットページの URI、 正規表現で指定するマッチングパターン、 マッチしたときの出力形式、 を指定するようにしてある。 意味が分からん? 霊じゃなかった例を出したら一目瞭然なのだが、 結構ひどいですよ。 ここだけの話、こんなの。

<?xml version="1.0" encoding="Shift_JIS"?>
<targets>

  <!-- apache -->
  
  <page>
    <name>Apache http server</name>
    <home></home>
    <uri>http://httpd.apache.org/</uri>
    <patterns>
      <checklist>
          <pattern><![CDATA[
            (?s)<strong>Apache\s*([0-9\.]+?)\s*Released<\/strong>.+?<strong>Apache\s*([0-9\.]+?)\s*Released<\/strong>.+<strong>Apache\s*([0-9\.]+?)\s*Released<\/strong>
          ]]></pattern>
          <template><![CDATA[
            <a href="%uri">Apache http server</a> %1, %2, %3 (%d)
          ]]></template>
      </checklist>
    </patterns>
  </page>

  (以下省略)

何かバージョンアップしたことを自動的に処理したい、 という目的のプログラムなのだが、 先ほどのは Apache が更新されたかどうかをチェックする箇所である。 uri で指定している http://httpd.apache.org/ を見に行って、 pattern で指定されている正規表現でマッチングさせて、 マッチしたら、%1 とか %2 とか、 そのあたりにマッチした文字列を突っ込んで、 出力用の文字列を生成する。 その内容が、前回と同じだったら、バージョンは上がってない、 と判定できるという仕組みだ。

ご覧の通りで、 これ以上読みにくく書けと言ってもちょっと難しいみたいな暗号的文字列になってしまっているわけで、 関係ない話だが、 このページにソースとか書くときに、 quote するのが面倒なので、 source タグで囲んだ中をさらに、 「<![CDATA[」 と 「]]>」 で囲むのだが、 先のデータみたいに、 データの中に 「]]>」が出てくるようなのはどうすればいいのか途方にくれる罠。

わびさびの話から逸れとるな…

ついでだから、もう少し逸れておくと、 前回に get したページ内容と差分を検出して、 バージョン番号っぽい所だけを抽出する、 というあたりまで自動化してしまえば、 サイトごとにパターンマッチング考えなくてもいいというので理想的? RSS 使えばいいという話はあるかもしれないが、 RSS で何送ってくるかという意味では大差ないか。

元に戻すと、 つまり、正規表現でこれだけアレなのだが、 Java で parse させるならどうなるかというと、 parse するためのルールをここに書くのが大変だったりする。 というか、どう書くのかまず決めないといけないし、 いくらでも話がややこしくなってなかなか始まらない。

というか何の話書いてたのか分からなくなったから寝る。

§

ポストの年賀状が燃えたというニュースがあったようだが、 皆さんはメールの年賀状を何通もらった/送っただろうか? こちらは喪中ということもあるせいか、 1通も送受信していないのだが、 メールが普及したら消滅しそうな文化であるようで、 その実まるで消滅しようがない、というのが年賀状である。 何となく、メールだと実感がないというか、 紙で送ることに意義がある、というような感じの文化であるような気がする。

電話で済ませる、という人はどうなのだろうか。 電話からメールというのも、なかなか移行しないような気がする。 voice mail というのが普及すればまた別かもしれない。

§

正月はTV三昧、という人も多かろうが、 プログラマーならプログラミング三昧とか蟲師化しているとか、 いろいろあるだろう。 最近は正月からやっている店も多くなったし、 インターネットショッピングなら正月特売とかあったりして、 お金があればこれも楽しいのかもしれない。

で、これは小淵沢のショッピングモールにあった店。

kobuchjzawa

ある人がヒモのやかた、と書いてあるから紐屋かと思ったそうである。 ヒモではなく、乾物屋なのだ。

で、TV ではなく Gyao で D.C. ばかり観ているのだが、 Gyao って最初の接続でエラーが出ることが結構ある。

Gyao 1

Gyao 2

最初のはともかく、 2番目の「妥当な DRM Request ではありません」が出たときはどうすればいいのか分からない。 とりあえず、ブラウザを全部終了させて再接続したらうまくいくことが多いので、 見なかったことにしている。 一度番組を観ることができる状態になれば、 その後は出ることがないようだ。

2006年1月1日

そういえば、 もうすぐRIMNET の表サイトを開いてから10年になるはず。 最近全然更新していないが。

§

裏裏のバックナンバーをみている途中で Firefox が固まる。 何か報告するかというメッセージが出たが無視。 裏裏ってそんなに破壊的でしたっけ?

§

駅伝というのはなぜ観てしまうのだろ? 極論すれば、単に走っているだけなのだが、 そこから目が離せないから不思議だ。

ところで、繰上げスタートって何のためにあるのでしたっけ? 1時間とか遅れるのはそりゃ困るだろうと思うけど、 10分遅れでアウトというのは、短すぎるような気もする。 その反面、1秒でも遅れたら失格ということで緊迫感があるというのも捨てがたい。