前の月 / 次の月 / 最新

WinChalow 2004-12

2005 : Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2004 : Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2004-12-01 Wed

ビアカクテル


Bistro Q MENU-67
http://home9.highway.ne.jp/t-iwaqzz/bq67.htm

キリンのラガーに氷結果汁グレープフルーツを混ぜるとうまい。ビールだけでは飽きが来たときの気分転換におすすめします。

ちなみにレモン、ライム、アップルでもうまいが、ウメとピーチはビールに合わない。
(2004-12-01 17:19:09)

人狼BBS


http://ninjinix.x0.com/wolf/index.rb

BBSを使ったロールプレイング・ゲーム。面白そう。
(2004-12-01 17:08:16)

PENTAX *ist DS


An another view - CAMERAs
http://phoney.jp/nia2/camera/istds_review1.html

PENTAXの新製品が、姑息にもM42レンズのフォーカスエイドに対応していることが判明した。

銀塩のころは Nikon にアダプターをかませて50年くらい昔に作られた東独製Zeiss JenaのM42群やPentacon群を使っていた。このときの膨大な共産趣味資産は、歴史の証人として都内某所に秘蔵されている。光学性能は今時の日本製単焦点レンズを凌駕するものがある。

デジカメでZeiss Jenaか。マクドナルドでピロシキを食べるような、いやちょっと違うけれども、いかにも21世紀的なとりあわせではないか。

さっそく実践しておられる人柱先達がおられた。
物欲阿修羅道
http://saburi.exblog.jp/
(2004-12-01 12:23:06)

帝国の未来はバラ色


「OSS界のガラパゴス諸島、ニッポン」
http://headlines.yahoo.co.jp/hl?a=20041201-00000012-zdn_ep-sci

こうなったら徹底的に珍奇性で勝負しようぜ!!
ゾウガメOSとか、イグアナ・ワープロとか、シーラカンスDBMSとか(シャレになってなかったりする……)
(2004-12-01 10:06:55)

2004-12-02 Thu

秀丸用RCSマクロ


リビジョン・コントロールをしたいけれども、RCSやcvsを使うのは難しい。通常人にはほとんど不可能といっていい。

よく使う基本的な部分だけ秀丸のマクロになっていると、かなり便利であろう。というわけで秀丸マクロを試してみた。
http://hide.maruo.co.jp/lib/macro/rcs12.html

マクロのコードはよく工夫されているのだが、肝心のRCSが私の環境ではうまく動かない。ちょっとマクロのコードをいじる必要がある。オプションをダブルクオートしているあたりが怪しい。

rcsi.mac については次のように変更すると動いた。
オリジナル
41: // 登録する
42: run "rcs \"-t-"+$rev+"\" -i \"" + $f + "\" >con";

改変後
41: // 登録する
42: runsync2 "rcs -t-\'" + $rev + "\' -i \"" + basename;
43: runsync2 "rcs -U " + basename;

HTML では半角の¥サインが、バックスラッシュになってしまうが、マクロ中では半角¥をお使い下さい。コピペすると自動的に変換されるはずです。その際、行頭の行番号+コロンは削除します。

rcsを2回起動しているのは、2回目は "strict lock" をはずすためのものである。これをしておかないと、チェックインしたときに、元のファイルがリードオンリーになってしまって、普通はこれだと使い勝手が悪い。

サンデー・プログラマーが使う分には、このマクロと、ci.mac だけで用が足りるだろう。ci.mac も同様に改変する。

オリジナル
56: // チェックイン
57: run "ci \"-m"+$rev+"\" "+$mode+"\"" + $f + "\" >con";

改変後
56: // チェックイン
57: runsync2 "ci -m\'" + $rev + "\' " + $mode + basename;

なお、Windowsのユーザー名が全角文字になっていると ci コマンドがエラーになる。DOS窓で確認しよう。
C:\Documents and Settings\わしじゃ> set USERNAME
USERNAME=わしじゃ

この場合、ci コマンドに -w オプションで半角英数字の名前を指定すればよい。
改変その2
56: // チェックイン
57: runsync2 "ci -wName -m\'" + $rev + "\' " + $mode + basename;

使い方としては、ファイルをセーブするかわりに、[Alt]MX ci.mac として ci.mac を起動するだけである。このくらいまで簡易になると使い物になったといえよう。

ci.mac をマクロ登録してから、[Ctrl] + [Alt] + R あたりにキー割り当てしておくとより便利である。

ついでに1行マクロの rlog.mac も修正しておこう。
run "rlog \"" + basename + "\" >con";

rdiff.mac や rcslock.mac、rcsunlock.mac なども "filename2" を "basename" に修正すると動くようになる。

さっそく ChangeLog ファイルをチェックインして、ChangeLogのchangelogがとれるようになった。うれしみもひとしおである。
(2004-12-02 17:25:28)

卵の進化


「殻は柔らかい皮状だったのではないか」
http://headlines.yahoo.co.jp/hl?a=20041202-00000008-mai-soci

(2004-12-02 10:14:01)
Referrer (Inside): [2004-12-03-2] [2004-12-03-1]

2004-12-03 Fri

秀丸用RCS チェックアウト


バージョンの履歴がとれるようになったところで、過去の特定のバージョンを取り出してみよう。

cop.mac というマクロを使う。配布されたままの状態では動かないので[2004-12-02]にあるように修正しておこう。"filename2" を "basename" に書き換える。怪しいダブル・クオートのあたりも、ちょっと直す。

修正後のcop.mac
$r1 = input("リビジョンを指定してください");
$rev = "-r"+ $r1;

run "co -p "+$rev+" " + basename + " >con";

次のファイルは v 1.3 であるが、前のバージョンを参照したいとする。
$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト
テスト続行
おっとしくじった。

2つ前のv1.1 に戻りたいとしよう。cop.macを起動して、1.1と入力する。これだけでOK。

copmacro

RCS/citest.txt,v  -->  standard output
revision 1.1
$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト

RCSがテキスト・ファイルの保存方法として、いかに強力なものであるかがお分かりだろう。

本来のRCSのお作法は、coコマンドで作業ファイルを取り出して、これを編集し、区切りがついたらciコマンドで新バージョンを登録、作業ファイルは消去という流れをとる。なかなか厳格な武士のお作法である。

この方法は、たしかに「あちこちのフォルダに同じファイルがあって、どれが本物かわからなくなる」という事態を防ぐことができるし、共同作業にも向いている。

しかし、サンデー・プログラマやウィークエンド・文豪がテキストを管理するのには、あまりに煩瑣でめんどくさい。ここでご紹介した方法は、バックアップとしてRCSを利用する方法である。RCSのお作法に従う必要がないし、ciコマンドやcoコマンドを理解する必要もない。お気楽でよろしいのではないかと思う。

筆者もこれでやっとRCSが使えるようになったのであった。
(2004-12-03 04:43:56)

秀丸用RCS


秀丸用RCSマクロ[2004-12-02]の修正方法を書いたが、肝心のRCSシステムの入手が意外に困難かもしれない。RCSマクロに同梱されているREADMEのアドレスが切れてしまっているのだ。cygwin もデフォルトではRCSがインストールされない。

一番簡単なのは、RCS本家からのダウンロードである。
http://www.cs.purdue.edu/homes/trinkle/RCS/rcs57pc1.zip

解凍して、\bin\win32 以下にある一連の exe ファイルを C:\WINDOWS\system32 にコピーすればよい。

RCSのうれしみを実感するには、保存するファイルの先頭に $Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $ という記号を書いておこう。ci.mac を実行するたびに、この行にリビジョンが記録される。

$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト

ci.mac を実行後
$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト

ファイルを編集
$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト
テスト続行

もう一度 ci.mac を実行
$Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
RCSのテスト
テスト続行

rlog.mac を実行すると編集履歴が表示される。
RCS file: RCS/citest.txt,v
Working file: citest.txt
head: 1.2
branch:
locks:
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;	selected revisions: 2
description:
test
----------------------------
revision 1.2
date: 2004/12/03 02:47:46;  author: zuihu;  
state: Exp;  lines: +2 -1
rev2
----------------------------
revision 1.1
date: 2004/12/03 02:47:17;  author: zuihu;  
state: Exp;
init
============================================

v1.1 と v1.2 の違いを表示するには、rcsdiff.mac を実行する。
======================================================
RCS file: RCS/citest.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
1c1
< $Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
---
> $Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $
2a3
> テスト続行

  ここまでくれば、あなたも立派なリビジョニストになったといえよう。
(2004-12-03 02:17:26)

2004-12-05 Sun

鳥居坂異聞 その1



東京は坂の町である。

この日は12月には稀な台風一過で、昼過ぎには真夏日となった。

自転車で赤坂・青山・六本木をまわってみよう。たまには都会を走るのもいいかもしれない。季節外れの暑さのせいか、そんな気分になる昼下がりであった。

赤坂見附で車から自転車を降ろす。赤坂見附から青山一丁目までは、バイク・メッセンジャー達を苦しめることで知られる登りである。ダンシングでひょいひょいひょいと登っていく。

鍛え抜かれた我が大腿2頭筋と、国産自動車が軽く2〜3台は買えてしまう私のロードレーサーにとって、この程度の登りはほとんど平地と変わりない。カーボンファイバーの乾いたキックバックを感じながら、快適に加速していく。

この下を地下鉄が通っているのだが、ここを登って終点の渋谷までいくと、地下鉄のくせにビルの三階の高さに出現する。

地下鉄たるものが、あまりの高空に出現するわけにもいかぬであろうから、地下でできうるかぎりの下降をこころみてはいるはずだ。それでもついに地下にはもどれず、ハズカシながらの空中出現となる。まあそのくらいの坂なのだ。

登ったあとは、でれでれと平らな道を外苑前まで進む。

人どおりの多いベルコモの交差点を渡ってなお進むと、左に入る狭い路地から六本木の巨大ビルが見通せるところがあった。

このあたりは建込んでいて、遠くが見通せることはめずらしい。見るところ、どうやら六本木まで水平な一本道のようだ。

ん?おかしい。

そんな道はないはずだ。いくら台風一過でも、道が通るはずもない。

今の人は知らぬであろうが、昔はこのあたりは、よくキツネやタヌキが出て人をたぶらかしたものである。青山といえば、荒涼たる野原に墓地があるだけの場所だったのだ。こんなところにに住みたがるのは、そういう歴史や地霊を知らないイナカモンだけだろう。

しかし真っ昼間からタヌキがビルに化けて見せることもあるまい。そう気をとりなおして、計画どおり六本木に向かうことにした。

車の通りもなく、快適に進む。静かな郊外のようなサイクリングロードである。国道の喧噪がまるで嘘のようだ。

え、まるで嘘?

最初のうちは、絵にかいたような高級マンションが建ち並び、駐車場にはこれまた高そうな、しかし見たこともないスポーツカーがとめてある。

シートがタヌキの毛皮張りだぜ。豪勢じゃねえか。

こころなしかケモノの臭いがしてくるが、気にしないで、どんどん進む。進むにつれて、なんだかちょっと次元が歪むような感覚におそわれる。

ふと気が付くと道の両側は古い木造の二階屋ばかりだ。昭和時代の景色だな。これは。

いやしかし。長年の経験からすると、ちょっとまずいぞ。潜在意識はアラート・モードに切り替わる。

後ろを振り返ると、国道はもう見通せない。道の両側は二階屋ばかりだというのに、六本木の巨大ビルも見えなくなった。い、いったいどこだ、ここは?

愛車はなんの抵抗もなく加速していく。道は下りながら右にゆるやかにカーブしている。

音がしないので、夢の中のようだ。真っ暗なトンネルを走っていると、いつしか上下左右の感覚がなくなるものだが、そんな空間識失当におそわれそうだ。

しまった。やられたぞ、これは。

[つづく]
(2004-12-06 03:39:57)
Referrer (Inside): [2004-12-07-2]

2004-12-06 Mon

トピック抽出


「NEC、大量のテキストデータをリアルタイムに分析する技術」
http://headlines.yahoo.co.jp/hl?a=20041206-00000001-maibz-ind
(2004-12-06 17:01:06)

2004-12-07 Tue

E-300 幻滅


O社のサイトにサンプル画像がアップされた。
http://www.olympus-esystem.jp/products/e300/sample/index.html
評判通り、ひどい。ライティングのミスじゃないのかって思うくらいだが、デビュー戦だから物撮りのプロがとったはずで、まさかそれはありえないだろうし、カメラの性能が悪いということになるのであろうか。
800万画素のくせに斜めの線がギザギザだし。
「この分野に先鞭をつけたキヤノンとニコンに対して、E-300をきっかけに勝負していく」だってさ。いうじゃな〜い。何を勝負するんでしょうねえ。

インプレスにもインプレがあった。
http://dc.watch.impress.co.jp/cda/review/2004/12/06/582.html
作例はどれも汚い。腕が悪いのではなくカメラのせいだろう。
広角端は使い物にならない感じだ。シャドー側が粘らずに落ちちゃうのがイヤ。

カッコはいいカメラなので期待していただけに、残念!
(2004-12-07 16:59:37)

家庭用風力発電機


ライブ画像。いつもより余計に回っております!
http://www.xebec-net.co.jp/index.html

近々、画期的な新製品が発表される模様。
http://www.zephyreco.co.jp/mf_news.html
(2004-12-07 15:00:00)

イグアナ逮捕


「オレンジ色のイグアナ 団地内ウロウロ“御用”」
http://headlines.yahoo.co.jp/hl?a=20041207-00000005-ryu-oki
(2004-12-07 11:41:54)

鳥居坂異聞 その2


[承前][2004-12-05]

建物の間のわずかなすきまから、高架橋が見えた。霞町の交差点だ。突然、車の喧噪が思い出のようによみがえる。

六本木からだいぶ坂を下ったところに出たわけだ。奇妙な道があるものだ。それにしてもひどく遠回りをしたことになる。なんだかキツネにつままれたようだ。

いまどきは西麻布とかいう地名になっているが、霞町になるその前は「墓地下」といわれていた界隈で、貧乏下宿の町だったらしい。

目指している六本木の巨大ビルは、昔の材木町から桜田町あたりである。左手は竜土町といって、寛永年間に竜が降りて昼でも暗闇になったと伝えられるところだ。

そのせいで道がのたくっているのだろうか。高架のおかげで、昼なお暗い谷底であることは当時と変わりない。

フランス料理の竜土軒があるのは、少し登った左手のあたりである。明治時代には島崎とか藤村とかの錚々たる文士たちが会合を開いていたことで有名な店であったが、今の店がある場所とは異なるそうだ。名探偵・明智小五郎が事務所を構えていたのも、たしか、このあたりだ。

などとあふれでる知識と教養に酸素消費量を奪われながらも、巨大ビルをめざして右側の歩道をトロトロ登る。ママチャリに抜かれた。

なぜか金髪の美女が後ろ向きで道をふさいでいる。ふりかえると顔がない!? いや、単なる厚化粧か。

驚いて追い抜かすと交番がある。警官が面をあげると、やはり顔がない。いや、これはガラスが光ったせいだ。きっとそうだ。それにしても妙だな。ジブリの狸合戦みたいだ。

後で思えば、これは何かの予兆であったのだが、そのときは登るのに一所懸命で考えている余裕がなかった。

坂を上りきったところが巨大ビルの入り口だった。

本当の恐怖は、そこからはじまった。

[つづく]
(2004-12-07 23:55:55)

FTPで直接ファイル編集


SmFtpEditor
http://www.simosimo.info/tool/index.shtml
エディタとしては more than simple なものである。マクロやchangelog機能はない。

秀丸ではHidemarunet Explorerを使えばHTTPやFTPで直接ファイルを編集できる。ただしマクロからはFTPが使えないので、[2004-11-30]に書いた迂遠な方法によるしかない。
(2004-12-07 09:34:30)

2004-12-08 Wed

ポーチスピーカー


http://www.biccamera.com/bicbic/jsp/w/audio/victor/index.jsp

NTXのアクチュエータ式である。NTXは意外に音がイイので気に入っている。[2004-05-12]
アクチュエーターだけ売ってくれないものだろうか。
(2004-12-08 15:25:08)

珍魚捕獲


山口県/珍魚「ナガユメタチモドキ」が漁獲された
http://www.pref.yamaguchi.jp/gyosei/koho/houdou/200412/000708.htm

お仲間達:http://www7a.biglobe.ne.jp/~grafish/b_mesopelagic35.html
「リュウグウノツカイ」より珍しいとのこと。

モドキ様ご消息:
H16.7.7 北海道・松前小島沖で捕獲(北海道新聞)
H16.7 巨大タチウオ、スーパーの鮮魚売り場で販売 体長2メートル 長崎・松浦市で水揚げ
H13.7.23 珍しい魚「ナガユメタチモドキ」が比井崎漁協でとれる(紀州新聞)
H13.1.13 福井県美浜町日向で捕獲・日本海側で初?(福井新聞)

「南の魚」とされているが、青森県にもいるらしい。
http://www.net.pref.aomori.jp/zoshoku/gyorui/mokuroku.htm

モドキ様ご尊影:
http://ww51.tiki.ne.jp/~tan-kam/tanaka_muse/fish/fish12.htm
駿河湾でとれたもの : http://members.at.infoseek.co.jp/sonco/heda.html
http://blog.melma.com/00116517/20040714055102

(2004-12-08 01:47:37)

ネタの種


ジャストシステムから発売。「紙」のOEM版のようである。
http://www.justsystem.co.jp/news/2004l/news/j12072.html

ジャストもネタが尽きたということか。
(2004-12-08 12:54:54)

2004-12-09 Thu

鳥居坂異聞 その3


六本木の巨大ビルに入っている某ベンチャー企業の名称を、右から逆に読むと「悪魔の十字架」という意味の英語になるらしい。

そうでなくても悲惨な事故で有名になったビルである。そのビルに到着してしまった。そう思うとなんだか胸騒ぎがした。

見上げてみても、美意識とは無縁な意匠である。別にかまわないけど。

中に入ってみる気もしないので来た道を直進した。いや、しようとした。このビルができるまえは、三叉路に横断歩道があったのだ。

ところがガードレールにはばまれて直進できない。左岸へわたることもできない。どうなってるんだ?

見回すと、歩行者はエスカレータで地下にもぐるようになっている。オッケー、グレイト。地獄へ堕ちろ、というわけか。ベイベー、恐怖の大王がお呼びだぜ。

しかし自転車ではエスカレータにも乗れない。にっちもさっちもいかない。しかたないのでガードレール沿いに進むと、ご丁寧にも自転車置き場になっていた。

ここに自転車を置いてどうしろというんだ、メーン?

さらに進むとオートバイ置き場になっている。もっと進むと、一時停止とか書いてある。

一時停止というのは、その先から優先道路に出る場合だ。ようやく進めるか、と思って前に出ると行き止まりである。絵に描いたようなバカ設計だ。

作家の原田宗典氏によれば、六本木というのは「んもう果てしなくバカを究めた街」なのだ。(『東京見聞録』)原田氏の六本木評は、見開き2頁に「バカ」が20回登場するほどの念のいったものだ。

もともと「六本木」自体が麻布の七不思議のひとつである。六本の木があったわけでもないのに六本木とはこれいかに、ということだ。地名からしてバカバカしい。

引き返すと振り出しに戻った。

強烈なデジャヴュにおそわれる。前にもこんな事があった。そうだ。このビルがまだ工事中のころ、芋洗い坂を下ったあと六本木通りに戻ろうとしたらたどりつけなくて、ひどいめにあったのだ。そのころは工事中だからしょうがないかと思っていた。

今になって分かったのは、どうやらこのビルは「めざすところにたどり着けない」が設計コンセプトらしいということだ。なんという恐ろしい陰謀だろうか。

それにしても、ビルが建つ前は直進できたんだから、車を下に通して、上は平らな歩道にすりゃいいだろう?さんざんここいら穴掘ってたのは、なんのためだ?死体でも埋めてたのか?

しかたなくもう一度トライする。情報科学ではバックトラックといいますね。理論通り枝刈りして、いやそれほど複雑ではないのだが、ガードレールにそって下っていくと、きれいにタイル張りされた道がトンネルに向かっていることが分かった。なにがなんでも地獄行きか。排気ガスで死にそうだ。

道は分かったけれども、そっちへいくと麻布十番までいってしまう。私は、あと200メートルほど直進したい。っていうか、ふつうそうだろ?ブラザー、ミーは六本木通りをまっすぐ行きたいだけなんだ。

自転車が通れないということは、車いすの人もダメということだ。いまどき、これほどのバリアー・フルな建築もめずらしい。世界遺産になれるかもしれない。

どうにもならないので、道なりに進んだ。そっちがそう出るならこっちにも考えがあるぞ。

なさけないことに報復のアイデアが浮かばない。すっかりバカにそまっちまったぜ。あれよあれよと惰性で下っていくと芋洗い坂の下に合流した自分を発見した。もうモノを考える力もない。

すごすごと芋洗い坂を上る。坂の上から次々にバカが転がり落ちてくる。とんでもない大回りだ。有酸素運動になっていいけど。ルンルン。

なにはともあれ、このビルのおかげで六本木のバカ度が急騰したことは何人もあらそえぬ事実であろう。東京に特大のバカ建築ができていた。そう思うと、私はちょっぴりうれしくもさえあった。

バカを究めるとは、なるほどこういうことなのか。

[つづく]
(2004-12-06 23:26:02)

忠犬特区


「野犬の被害深刻 石垣市」
http://headlines.yahoo.co.jp/hl?a=20041209-00000018-ryu-oki

忠犬特区[2004-11-19]の行く末が懸念される。
(2004-12-09 16:22:33)

中国製検索エンジン


意味解析をしているらしい新型サーチエンジン。日本語オッケー。
http://www.accoona.com/
(2004-12-09 13:24:39)

搭乗歩行型ロボット


トヨタの人のせロボ。これって「車両」なのだろうか。あるいは牛馬扱いだろうか。法の不備が指摘されるところだ。
http://headlines.yahoo.co.jp/hl?a=20041203-02185376-jijp-bus_all.view-001
(2004-12-09 13:01:29)
Referrer (Inside): [2004-12-20-2] [2004-12-14-2]

2004-12-14 Tue

ロボ特区


ロボットを公道で動かす[2004-12-09]には「特区」の認定が必要な模様である。
http://www.asahi.com/business/update/1210/120.html

「日本初!公道でのロボット実証実験 実施報告」
http://www.island-city.net/Topics/it_20040221_1.html

ロボットの定義というのは「自走する機械で出力XXワット以上」というようなことになるのだろうか。自動車との区別が難しい。

走行免許を自分で取りに行って手続きが出来る程度に賢いヤツ、という定義もありそうであるが、これでは、オッサンが着ぐるみ来て歩くのもロボットになってしまう。

そういえば、人工知能ヴァレンティーナは、「私には人格があります」と主張していた。自分で手続きをして「法人格」を取得したのだ。(こういう傑作が絶版というのは惜しい)

最近面白い浦沢直樹のPLUTO画像のロボットには、人権が認められている。このくらいになると、人間の方も改造しまくりになるだろうから、人間とロボットの区別がむずかしくなりそうだ。


ロボットの定義というのは、奥が深くて面白い。

(2004-12-14 16:51:22)

人造美女


「人造美女コンテスト」
http://headlines.yahoo.co.jp/hl?a=20041214-00000019-mai-int
最高齢62歳。1人平均7〜8カ所。

人造アスリートなんでもありオリンピックも間近か!?

(2004-12-14 11:25:12)

2004-12-16 Thu

ホリエモン火星へ


「有人ロケットは民間で ライブドア宇宙へも進出?」
http://headlines.yahoo.co.jp/hl?a=20041216-00000095-kyodo-soci

(2004-12-16 17:26:41)

CGI 開発ツール KCatch.pm


CGIのエラー・メッセージをHTMLで表示するモジュールです。
http://www.kawa.net/works/perl/catch/news.html

お手軽でよいですはあと

kcatch.pm

(2004-12-16 14:12:55)

正規表現の自動生成


与えられた文字列の例から、正規表現を自動生成できたらシアワセになれるかもしれないテスト。

my $ex1 = "John Due	12	Admitted.";
my $reg1 = $ex1;
$reg1 =~ s/[A-Z]+/\(\[A-Z\]\+\)/og;
$reg1 =~ s/[a-z]+/\(\[a-z\]\+\)/og;
$reg1 =~ s/\t/\(\\t\)/og;
$reg1 =~ s/ +/\( \+\)/og;
$reg1 =~ s/\d+/\(\\d\+\)/og;
$reg1 =~ s/\.+/\(\.\+\)/og;
print $reg1, "\n";

例示:John Due[tab]12[tab]Admitted.
正規表現: ([A-Z]+)([a-z]+)( +)([A-Z]+)([a-z]+)(\t)(\d+)(\t)([A-Z]+)([a-z]+)(.+)

あまり欲張らずに、この程度のものであれば、なんとかなりそうはあと

次は、日本語の文字種を区別して正規表現にしてみるテスト。
#!/usr/bin/perl -w
# $Id: genreg2.pl,v 1.1 2004/12/16 08:12:38 zuihu Exp $

use strict;
use utf8;
use Encode qw(encode);

my $text = '漢字カナ混じり文をinputする';
$text =~ s/\p{InBasicLatin}+/\(\\p\{InBasicLatin\}\+\)/og;
$text =~ s/\p{InHalfwidthAndFullwidthForms}+/\(\\p\{InHalfwidthAndFullwidthForms\}\+\)/og;
$text =~ s/\p{Hiragana}+/\(\\p\{Hiragana}\+\)/og;
$text =~ s/\p{Katakana}+/\(\\p\{Katakana}\+\)/og;
$text =~ s/\p{Han}+/\(\\p\{Han}\+\)/og;

print encode('Shift_JIS', $text), "\n";


例示:漢字カナ混じり文をinputする
正規表現: (\p{Han}+)(\p{Katakana}+)(\p{Han}+)(\p{Hiragana}+)(\p{Han}+)(\p{Hiragana}+)(\p{InBasicLatin}+)(\p{Hiragana}+)

正規表現お助けマン・ツールとして使い勝手を向上させれば、なんとかなるだろうか。インターフェースの作り方が難しそうではある。「もそっと一般化をゆるめて」というような指示をどうやって与えるか、ですね。ムーグ・シンセサイザーみたいに意味不明のスライダーを100個くらいつけたGUIなんていうのが素敵ではある。人呼んで、「正規表現シンセサイザー」!

で、この先どうなるんでしょう??

(2004-12-16 11:33:52)

2004-12-17 Fri

ニシキエビを県内で捕獲 /山口


http://headlines.yahoo.co.jp/hl?a=20041216-00000194-mailo-l35

熱帯性の大型エビが瀬戸内海で捕獲された。最近、この手の話が多い。

もっとも、夏になれば千葉の海でも熱帯魚がみられるので、驚くほどのことではない。
http://chiba.yc1.co.jp/seapool/sea_uchibo.htm
(2004-12-17 16:09:40)

正規表現お助けツール


.Net 対応のフリーソフトがある。
Regex Master
http://www.miningtools.net/master/default.aspx
Regex を与えると、テスト用パターンを自動生成する。私がほしいモノとは逆であった。日本語が化ける。

正規表現の例示集
Regular Expressions .NET by Example
http://www.miningtools.net/forums/forum.asp?FORUM_ID=4

いつのまにか正規表現が.Netのウリになっている。

遺伝的アルゴリズムがどうとかいっている論文のようなものもある。
random generation of regular expressions
http://lists.canonical.org/pipermail/kragen-hacks/2004-January/000375.html
(2004-12-17 14:19:52)

正規表現の自動生成 その2


文字列はすべて '.*' に変換するのをデフォルトとして、ユーザーが指定したセパレータのみを特別扱いするという戦略を採用してみるテスト。

ChangeLog フォーマットのアイテム・ヘッダーの正規表現を作らせてみた。
#!/usr/bin/perl -w
# $Id: genreg3.pl,v 1.1 2004/12/17 04:33:44 zuihu Exp $
# This script should be saved in UTF-8.

require 5.008;
use strict;
use utf8;
use Encode qw(encode);

# ここからユーザー指定項目 #
# 例示文字列
my $ex = "\t* CGI 開発ツール KCatch.pm [perl]:";
# 制約
my @separators = qw( \[ \] ); # 文字列として一般化しない記号
my $head = '\t\* '; # 頭部指定
my $tail = '\:'; # 尾部指定
# ここまでユーザー指定項目 #

print encode('Shift_JIS', $ex), "\n";

# 下準備
my $text = $ex;
$text =~ s/^($head)// if ($head && $head ne "");
$text =~ s/($tail)$// if ($tail && $tail ne "");

# 本作業
$text =~ s/([^\[\]]+)/(\.\*)/og;
for my $s (@separators)
{
$text =~ s/$s/\\$s/g;
$text =~ s/\\\\/\\/g;
}
my $pat = '^(' . $head . ')' if ($head && $head ne "");
$pat .= $text;
$pat .= $tail . '$' if ($tail && $tail ne "");

print encode('Shift_JIS', $pat), "\n";

# できあがった正規表現をテスト
$ex = "Regex NG." unless $ex =~ s/$pat/Regex OK./;
print encode('Shift_JIS', $ex), "\n";


スクリプトの出力
\t* CGI 開発ツール KCatch.pm [perl]:
^(\t\* )(.*)\[(.*)\]\:$
Regex OK.

だいぶ手間がはぶけるように思うのは私だけだろうか。

(2004-12-17 13:51:12)

2004-12-20 Mon

カオス喜界島


「アサギマダラ“長旅” 国営アルプスあづみの公園で放した1匹」
http://headlines.yahoo.co.jp/hl?a=20041216-00000001-cnc-l20

蝶はハバタキの反動で重心が大きく動いてしまうので、飛行経路がカオス状態であるといわれる。補食することがむずかしいらしく、鳥たちも、あまりエサにはしないほどだ。

アサギマダラアサギマダラというのは大型の美しい蝶である。この蝶は、何百キロも海を渡ることが知られている。

自分の飛行経路ですら予測不可能なのに、それが大気という巨大カオスの中を飛んで、しかも海を渡って島にたどりつくというのは、偶然にたよるとすれば、よほどの物量作戦を展開しても確率はゼロに等しいだろう。紙飛行機程度の強度の飛行体が、これほどの長距離を飛べるのは実に不思議なことだ。なんらかの航法があるにちがいない。

アサギマダラの航法が分かれば、巨大カオスを自在にわたることができるようになるのではないか?
(2004-12-20 17:07:08)

六本木巨大ビル


某巨大ビルでの遭難者[2004-12-09]がまたひとり増えていた。
「六本木ヒルズ(通称:キルビル)で遭難」
http://my.casty.jp/kirik/html/2004-12/12-20-14447.html

ふつう迷うよね。J-waveの番組で元レーサーのT屋圭一氏もよく迷うとバカにされていた。地下に何か埋まっていて磁気異常が生じているのだろうか!?

でもビルが建つ前は、幽霊の噂こそあれ、真っ昼間に道に迷うようなところではなかったのだ。バカ建築の威力こそ絶大なれ。携帯の電波も上の方にはとどかないらしい。どういう仕掛けになってるんだろう?
(2004-12-20 15:51:01)

正規表現パーザ


正規表現の自動生成をするには、正規表現のパーザが必要になるなあ、ということでCPANを探してみたらあった。ラッキー。
YAPE: http://search.cpan.org/~pinyan/YAPE-Regex-3.01/
Regep: http://search.cpan.org/~pinyan/Regexp-Parser-0.10/

同じ人が作っているが、Regexp::Parser の方が新しいものの、YAPE の方が簡単である。YAPE::Regex::Explain というモジュールを使うと、与えた正規表現の解説をしてくれる。それなりに便利かもしれない。

The regular expression:

(?i-msx:reg(ular\s+)?exp?(ression)?)

matches as follows:

NODE         EXPLANATION
---------------------------------------------------------
(?i-msx:     group, but do not capture (case-insensitive)
     (with ^ and $ matching normally) (with . not
     matching \n) (matching whitespace and #
     normally):
---------------------------------------------------------
  reg          'reg'
---------------------------------------------------------
  (            group and capture to \1 (optional
       (matching the most amount possible)):
---------------------------------------------------------
    ular         'ular'
---------------------------------------------------------
    \s+          whitespace (\n, \r, \t, \f, and " ") (1
         or more times (matching the most amount
         possible))
---------------------------------------------------------
  )?           end of \1 (NOTE: because you're using a
       quantifier on this capture, only the LAST
       repetition of the captured pattern will be
       stored in \1)
---------------------------------------------------------
  ex           'ex'
---------------------------------------------------------
  p?           'p' (optional (matching the most amount
       possible))
---------------------------------------------------------
  (            group and capture to \2 (optional
       (matching the most amount possible)):
---------------------------------------------------------
    ression      'ression'
---------------------------------------------------------
  )?           end of \2 (NOTE: because you're using a
       quantifier on this capture, only the LAST
       repetition of the captured pattern will be
       stored in \2)
---------------------------------------------------------
)            end of grouping
---------------------------------------------------------
(2004-12-20 12:32:38)

2004-12-21 Tue

iBurst


「京セラ、無線でメガbps級の通信が可能な「iBurst」の国内実験を開始 (MYCOM PC WEB)」
http://pcweb.mycom.co.jp/news/2004/12/20/007.html

「来年中に下り最大2Mbpsへ、2009年までに下り最大10Mbpsへ」とある。かなり高速だ。

(2004-12-21 15:06:52)

2004-12-22 Wed

SQLite vs MySQL


SQLite と MySQL の速度比較がある。
http://pcweb.mycom.co.jp/special/2004/php5/007.html
ほぼ同等といえそうだが、insert するときに「1000行毎にコミット」というようなハックが必要ではあるらしい。

昔SQLiteを使ったときは、すぐにフリーズして使い物にならなかったのだが、最近のは調子良さそうである。Windowsで使うには、SQLiteの方が簡単でいいかもしれない。

ActivePerl 5.8 用のバイナリー・モジュールがある。次のモジュールをppmでインストールする。

C:> ppm.bat
ppm> install DBI
ppm> install DBD-SQLite
ppm> install DBD-SQLite2
ppm> install HTML-Template
ppm> quit

ついでだが、chalow 1.0 系で必要になる HTML::Template も、 perl 5.8 用 ppm パッケージが公開されている。

(2004-12-22 18:06:43)

リアルいいまつがえ

2004-12-27 Mon

chalow 1.0 rc4


chalow がバージョンアップしていた。
http://nais.to/~yto/clog/2004-12-24-3.html

アイテムごとページに対応しているのがうれしい。

ChangeLogパーザが外出しになったあおりで、Shift_JIS が通らなくなった。このバージョンでは、オリジナル chalow をそのまま使おうという野望が通用しない。とりあえず一行追加してwinchalow 1.0rc4 をリリース。人柱バージョンです。
WinChalow-1.0rc4: [http://blogger.main.jp/changelog/winchalow-1_0rc4.lzh]
(2004-12-27 12:50:28)

2004-12-28 Tue

Thugged Out


「スラングが英語辞典に記載される」
http://music.yahoo.co.jp/club_dance/music_news/ntx/20041227/ntxent003.html

thugged out : タフな様子
hoochie : セクシーな女性

さあみなさんごいっしょに!
(2004-12-28 10:09:09)

2004-12-29 Wed

「金魚すくいの勝者めぐり訴訟 」


http://headlines.yahoo.co.jp/hl?a=20041229-00000005-nara-l29

大の大人が...
(2004-12-29 17:06:38)

Class::DBI::Plugin::Iterator


これを使うと、データベースから取得したデータをページングするときに、効率が良くなるらしい。Windows ではテストが全部通った直後に落ちるという妙な挙動をするが、これはperl CORE のテスト・モジュールの方のバグなので気にしない。
http://asakura.g.hatena.ne.jp/asakura-t/20041219

さてページングはできるようになったが、今度はページングしたデータをHTMLにするのがめんどくさいなあ、と思ったらHTMLを書いてくれるモジュールがあった。
http://search.cpan.org/~aaronjj/Class-DBI-Plugin-HTML-0.8/HTML.pm

これをWindowsで使うにはprerequisitesが山のようにあってたいへんだ。

ppm.bat を起動してHTML-TableとHTML-FillInFormをインストールする。

次のモジュールはppmがない。CPANから根気よくダウンロードしてインストールする。
SQL-Abstract-1.17.tar.gz
Class-DBI-AsForm-2.41.tar.gz
Class-DBI-Plugin-0.03.tar.gz
Class-DBI-Plugin-Type-0.02.tar.gz
Class-DBI-Plugin-RetrieveAll-1.01.tar.gz
Class-DBI-Plugin-AbstractCount-0.03.tar.gz
Class-DBI-AbstractSearch-0.05.tar.gz

これで準備完了だが、この先はもっとたいへんそうだ。試しに作った Class::DBI::Plugin::Html を使ったスクリプトが動かない。as_Htmlメソッドが継承されていない。本当にこんなんで楽になるのか...年末なのに苦戦中。

ちなみに AbstractSearch はPlugin::Iterator を組み合わせると使いでがありそうでうれしい。次のようなSQLを発行して結果を表示することを、perl の構文だけで書けるようになる。SQL発行前後のうだうだした処理を書かなくて済むので、プログラムの見通しが非常に良くなる。
データベースに接続してデータベース・ハンドラーを生成
SQL文をprepare

SELECT Title FROM mov1 WHERE Title LIKE 'F%' LIMIT 0,2;

SQL実行
結果表示
map { print $_->Title, "\n" } 
Film->search_where(Title => [ { like => 'F%' } ])
	->slice(0,2) ;

こうなったら、RDBMSがいきなりHTML吐いちゃうっていうのはないものだろうか。
(2004-12-29 14:46:48)

2004-12-31 Fri

大晦日


おせちの仕込み完了。

それでは皆様良いお年をお迎え下さい。
(2004-12-31 11:53:10)