2005-01-20

全銀フォーマット

ややゆえあって、全銀フォーマット(全銀協制定レコード・フォーマット)というデータ形式のファイルをいじる機会が多くなりそう。これは、オンライン・バンキングの振込などで使われる、振込先や金額などを表記するための固定長のテキストデータです。

CSVなりExcelワークシートを元にこの形式のファイルを吐くアプリケーションなりマクロなりはそれなりに見つかる(たとえばwww.vector.co.jpから「全銀フォーマット 変換」をGoogle検索)のですが、どうも自分的にピンとくるものがありません。シェアウェアが多いのですが、オンライン・バンキング申し込み時に銀行から送られてきた付属ツールもあるので、それと比べて圧倒的に優れていないと購入まで思い切れないし(ちなみにこのツールの使い勝手は最低クラスですが)……。どうもどれも似通った感じに使いにくそうなのがなんとも。強いていえば候補になるのはABConvかなあ。

自分的にはCSV→全銀フォーマットのコマンドライン・フィルタでいいのですが(笑)、そういうのは見つけられませんでした(そろそろどういう心理状態になっているかお察しいただけるかと)。

というわけで、全銀フォーマットの仕様をググってみたのですが、ないのですよ。しかし、全銀協のサイトから仕様書マニュアルと購入についてのページが見つかりました。そういうことか。しかし仕様書が収入源というわけでもあるまいし、これくらい(以下略)。この仕様書は2,000円。上記シェアウェアと同じくらいの価格ですね……。おなじ2,000円使うなら……

A. 既存のシェアウェアツールを購入
→どう転んでも、ときどきそこそこの使い勝手のツールを使うだけの退屈な毎日。
B. 仕様書を購入
→プログラムを書く愉快な時間+あわよくば使いやすいツールができちゃうかも!

あっはっは、こりゃあBでしょう。

2005-01-16

風邪ダウン。5分から10分という短時間で、暑くもないのにたちまち体から大量の汗が流れ出るという驚異の体験をしました。

スパム

とうとうemptypage.jpのメールアカウントにもスパムが届きだした。プロジェクト杉田玄白のページでメールアドレスにリンクされてしまったからかな。気をつけてはいたんですが、こういうのはどうしようもありませんね。このアカウントもPOPFileを通すことに。まあ遅かれ早かれそうなるのはわかってたことなのですが。

wz2chbbs.pyほか

年末のWZオフで「公開しますよ」とも言いましたので、とりあえずwz2chbbsのソースを固めておきます。日本語codecが必要です。さくらインターネットで日本語codecを利用する方法についての覚え書きページを作ってからにしようと考えていたのですが、どうせいつできるのかわからないですし、とりあえずここで暫定的に。

CGIとして実行させるのはwz2chbbs.pyです。

WZ PYTHON SCRIPT EDITOR

ご参考までに。Pythonスクリプトを、僕はこんな感じの文書の設定で表示させています。

色分け設定。

reword(use=1;rgb="0x800040";atr=0;re=1): '([^']|¥¥')*'
reword(use=1;rgb="0x800040";atr=0;re=1): "([^"]|¥¥")*"
reword(use=1;rgb="0x800040";atr=0;re=1): <(¥d+L?|0x[¥da-fA-F]+|¥d+¥.¥d+|¥de¥+¥d+)>
words(use=1;rgb="0xFF8000";atr=0): ArithmeticError AssertionError AttributeError EOFError FloatingPointError IOError ImportError IndexError KeyError KeyboardInterrupt LookupError MemoryError NameError OverflowError RuntimeError StandardError SyntaxError SystemError TypeError ValueError ZeroDivisionError
words(use=1;rgb="0x0000FF";atr=0): access and break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try yield while
words(use=1;rgb="0x8080FF";atr=0): None True False
rear(use=1;rgb="0x008040";atr=0): #

見出し設定。

見出し1:
^(((class|def)¥s+.+)|if¥s+__name__¥s*==¥s*[‘”]__main__[‘”])¥s*:
見出し2:
^¥s{2}((class|def)¥s+.+)¥s*:
見出し3:
^¥s{4}((class|def)¥s+.+)¥s*:
見出し4:
^¥s{6}((class|def)¥s+.+)¥s*:
見出し5:
^¥s{8}((class|def)¥s+.+)¥s*:
見出し6:
^¥s{10}((class|def)¥s+.+)¥s*:

2005-01-12

人生がただ一度のトランザクションなら、「すべて成功した人」と「すべて失敗した人」しかいないことになるのかしら……。

Marvel 1602

『サンドマン』のNeil Gaiman脚本。1602年、エリザベス一世治下の英国と清教徒入植の始まったニューイングランドを舞台にMarvelおなじみのキャラクターたちが活躍する異色作。詳細はPlanetComicsのレビュー参照(ちょっとストーリーを書きすぎてるのでネタばれ注意)。

現代のヒーローが1602年に行くのではなく、かれらは基本的にあくまで1602年当時の人物として描かれています(マグニートーがSpanish Inquisitionなのにややウケ)。ヒーローのコスチュームも、「スパイダーマン」「デアデビル」といったコードネームも出てきません(普通の台詞の一部として織り込まれていることはある)。しかし言動がうまく元ネタのキャラクターに当てはめられているのでニヤリとさせられます。「ピーター・パーカー」が女の子相手だと口下手だったり、徒弟「スコティアス・サマーアイル」が新入りにガールフレンドを取られるんじゃないかと嫉妬したり。お遊びでやってるのでしょうが、ピーターが蜘蛛に噛まれそうでなかなか噛まれないのが可笑しい。

目からビームとかはさすがに違和感あったけど。

ハードカバー一冊で完結しているミニシリーズなので、Marvelキャラクターをある程度知っていれば、最近のオリジナルシリーズでの展開を知らない人(自分ですが)でも楽しめます。エリザベス朝時代の絵画や銅版画を研究して編み出した(と思われる)独特の画風やカバーアートもいい味出してます。

2005-01-09

お正月は実家でずっとケーブルのAnimal Planetを見てすごしてました。アニマル最高。

年末年始のこと

積雪

12月29日に東京は雪が降ったんですよ。

遅くに起床して、ぼうっとしながらコーヒー入れて、メールチェックして、朝ごはん食べて、ニュースサイト見て、そこで「都心に積雪」という記事を見つけ、「なにぃ!?」とばかりにカーテンめくって窓を開けると、嗚呼そこは雪景色。

「雪でびっくり」の最悪のパターンを演じてしまった。

奈良県奈良市某所オフ

いちおうWZオフということになると思うのですが。大晦日の夕方から夜にかけて、清水川さん、中村さん、のさださん、棟方さんと新宿にて(この日も雪が降った)。どんな感じだったかは中村さんのレポートをご参照のこと。

おそらく構成員としてはWZの話で盛り上がれる集団世界ランク1位か2位くらいであったはずだと思うのですがね。しかしそれも仕方ありません。ある意味「VC待ち」の僕らですもの。

中村さんのレポートに、個人的に印象に残ったことの補足。

  • 「砂」はオーディオ用品だそうです。砂を部屋一面にまいて、再生時の砂の振動状態を観察することで室内の音響を評価するのだそうです。

  • のさださんが秀丸の掲示板で「これままで報告されたバグはすべて修正しました」というアナウンスを見たという話に、みんなで「あぁ〜」と、なんともいえない嘆息の声。

  • 「結局この先、後方参照付きでまともな正規表現が利用できるようになったり、色分けが完璧になったりすることは期待していていいのか」という日ごろの疑問をプログラマの方々に聞いてみたのですが、やはりというかなんというか、「それは山口さん次第(でできるかもしれないしできないかもしれない)」とのお言葉。

  • Lenovo率高。

  • 僕は仕事だといまやテキストエディタは原稿整理くらいにしか使わないので、依存する理由は低いといえば低いはずなのです。中村さんに「お主は何故WZを使っているのか!?」と問い詰められた(やや誇張あり)ところでうろたえてしまった僕はまだ望みがあるんでしょうか。でも手元にある問題を解決するのにいちばん手っ取り早いのが手になじんだWZなら僕はそれを使いますよ。ってなんの話だっけ。

  • ちょろっと話をしたSamurizeというのはこれのことです(日本のユーザーさんのサイト)。

  • 自分のことばっかでアレなんですが(自分のサイトだからいいんです)、「プログラマじゃないのに(Pythonとか)けっこう手を広げてるよね」と言われてしまいました。プログラムはおもしろいからいいんです(職業でやるとなるとまたたいへんだと思いますが)。ノートPCにローカルでApacheを動かすのって、(Blogとかから始めた人はともかく、)自分のWebサイトやりだした人ならそんなに少なくないと思ってたんですが、マニアックなんでしょうか。手を広げすぎだというのは最近自分でも思いますけど。(嘘。ほんとは思ってません。楽しいからいいんです。)

  • ごめんなさい、箇条書きのいちばん最初の砂の使い道は嘘です。機器のビビり防止用のウエイトだそうです。
妹のノートPC買いにつきあう

ここから2005年。LaVie G タイプN(製品情報のページにリンクが張れないサイトってどうよ)の「フロスティパールホワイト」がいいんだって。選択にあたって僕はべつになにも口出ししなかったけど、これは自分的にも悪くないと思っていたモデルでした。スロットローディングいいなあ(そこかよ)。

セットアップしているところを見てたんですが、やっぱり今でも家電メーカーのPCはいらんプレインストール・ソフトウェア満載なんですね。ちなみになぜかApache (1.3.33) がプレインストールされてました。たぶんヘルプシステムかなんかを動かすのに使ってるんじゃないかと推測してるのですが、確信は持てなかったので、アンインストールしてよいとまでは言えませんでした(ヘルプならFlashでいいような気もするし)。

無線LANブロードバンドルータ買い替え

で、それを実家の無線LAN環境につなげる設定を手伝ったのですが、どうもうまくいかない(自分のThinkPadではいける)。いろいろ試行錯誤したりWebで調べたりした結果、「もしかしたらルータがタコなのかもしれない」ということになり、無線LAN機能付きのブロードバンドルータを買い替えることに。それまで使っていたのはcorega WLBAR-54GTで、ユーザーによるレビューや2ちゃんねるでの評判を読むと、使用中に無線LANが使えなくなるという現象がけっこう起きているようです(うちのも同様の現象)。そこで、やはりWebでの評判を参考にして、omron MR104WAGを購入。「えっ!? オムロンのがいいわけ?」という家族の反応(笑)を背にWLBAR-54GTと付け替えたところ、ちゃんとLaVieでもつながるようになりました。

地上波デジタルチューナーをいじる

これはべつに買ったわけではなくて、仕事が始まってから出先でたまたま触る機会があっただけです。Panasonic TU-MHD500を接続する作業を手伝いました。

感想。めんどすぎ。

あんなものが普及するとは思えません(しかし携帯電話でメールするのが普及する世の中だからなあ)。現行の地上波放送は「1. コンセントつなぐ/2. アンテナつなぐ/3. 電源オン」で見られるというのに、初回起動時に長々とセットアップ作業をやらせるうえに電話線をつなげとかカードを入れろとかユーザー登録しろとか。正直このB-CASカードというのはなんか怪しさいっぱいですごくヤなんですけど。

パソコンの世界だとアメリカやヨーロッパでコンテンツ提供者と消費者との折衝があるからか、ここまでガチガチにはならないと思うのですが、日本だとやりたい放題って感じ。

そもそも双方向通信機能ってなくていいんじゃない? どうせくだらないクイズとかアンケートとかやらせるだけでしょうし。オモチャですよ。個人情報と関連付けられたカードを、ネットワークにつながっている機器に挿入させるエサとしては弱いですよね。

某氏ではないけれど、地上波デジタル不要論を言いたくなるのもわかる気がしました。

まあ不要論はおいとくとしても、あのめんどくささは勘弁してほしいものです。

2005-01-03

年末のWZオフの話は次回にでも。

更新情報

月名のtypoを修正した、timestamp 1.10を公開します。こんなのが今まで残ってたとはお恥ずかしい。

元日からご指摘メールをいただいてしまいました。