次の月 / 最新

bills.flipflap.net 2004-05

2004-05
SMTWTFS
1
2345678
9101112131415
16171819202122
23242526272829
3031

2006 : 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
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

2004-05-24 Mon

* 単一行モードの不具合修正 [chalow]

 単一行化[2004-05-10-2]の際に余分に改行が除去されてしまっていたのを修正。

sub okikae {
:
#print "1[$_]\n";
## 2004-05-10 bills : 単一行モード
## 2004-05-24 bills : 単一行化終端判定の先読み指示の括り出し(不要な改行の丸めを抑止)
## begin
    s!^ (.+?)(?=\s*(^$|\z| ))!make_single_line($1)!gsme if ($single_line_mode);
## end
    s!$!<br>!gsm;
    s!<br>$!!;
#print "2[$_]\n";
:
}

 ※不具合といっても私のカスタマイズ自体の不具合であり、chalow自体の不備ではありませんので、誤解無きよう願います。
 chalow自体への細かい指摘についてはchalowサポートページに報告し始めています。

2004-05-23 Sun

* 今週の録り溜め番組 [テレビ]

- サクサク
 「あぶない刑事」そうかもう20年前近くになるんですね。ジゴロウの故・中条静夫さんのマネ(鷹山っ、大下っ)が懐かしい。

- トリビアの泉
 先手後手合わせて804枚の大局将棋。この規模だと今でいう大戦略とか信長の野望みたいなシミュレーションゲームの趣がありますね。
 小さい頃、新聞のコラムに載っていた中国象棋の駒を日本将棋上で再現するために、余っていた駒をパテで改造(ひどい)したりしましたが、この規模じゃ無理…。

* Kirin-City [たべもの]

 Kirin-Cityに行き、カウンターに座ったところ、カウンターの中で注文を捌きビールを注ぐ店員が何やら面白い。

- 注文がかかった席を忘れる
- 注文されたビールを注ぐのを忘れる(自分も2回やられた)
- 空になったビールサーバーの泡処理で、泡が吹き出し「わー」「きゃー」
- 店員への指示で、たまにくだけた表現をする。
- 片付け中のグラスを落とす。

 ドジっ娘属性(というのか?)満載で、サービス業として許されざるべきかどうかという状態なのですが…かわいいから許すっ(それかよ)。
 で、ネームプレートみたら「スタッフリーダー」。ある意味すごい。

 ブラウマイスターフェアということで、ブラウマイスターを注文して行った抽選でメモ帳をゲット。他の当選品はグラスや蛍光マーカー。

BRAU MEISTERメモ帳

* クイックマッサージ [てもみん]

 首肩中心30分@チェアー。
 「背筋ありますがスポーツ何かやってるんですか?」と聞かれたのですが、いつもは他の店員さんに「張ってますねー」と言われるので、単にキーボードの打ち過ぎか何かでしょう。

2004-05-22 Sat

* スタイルの違い [プログラミング]

 機会があってJ2EE(とApache software)と.NET Frameworkのプログラミングを同時に行ってライブラリを眺めたときに、以前からのWin32プログラミングやJavaプログラミングの経験も交えて思ったこと。

 (あくまで2つの相対的なものです。絶対的にそうでない面はあります)

- .NET Framework: 実利的。その場しのぎ。目の前の問題を解決するのに手っ取り早い。
- J2EE : 論理的。一貫性が高い。まわりくどい。

 ユーザインタフェースやアプリケーションも含めて、大きなところではメインフレーム→UNIX→Windows→Java→.NETというアンチテーゼな競争の結果の側面が大きいのでしょうけど、面白い。
 アリ(J2EE)とキリギリス(.NET)のようにも見えます。しかし物語の中ではアリが勝ちますが、現実ではそれぞれのユーザ、市場原理、経済的制約、政治力などが働いて、そうでもありません。CPUやOSを見ていると、キリギリスが後からアリの特徴を取り込んで市場的、経営的に充足しています。
 また利用者が今そこにある問題を解決するには、その手段となるプラットフォーム(ユーザインタフェース、アプリ、ミドルウェア、プログラミング言語、ライブラリ、OS、ハードウェア、ネットワークなど)がどんな構成であろうと関係無く、問題を解決するための時間、手間が少ない方に越したことはありません。エンドユーザ側に近づけば近づくほどその度合は高いと考えられます。実際には要件や制約や調達難易度などの環境も影響しますし、コンピューティング自体が目的の(になっちゃっている)場合は例外ですが。
 マクロな視点に立てば、セキュリティ懸念をはじめとする極度のプロプライエタリ化による弊害等もありますが、人間そう簡単に高尚になれない。易きに流れやすい。

 …まぁさんざん言い尽くされていることですけど。
 .NETとJ2EEの比較なんか、Bjarne Stroustrup氏が「Javaはマーケティングの産物」と言っているように、数あるテクノロジの中ではJavaも十分にマーケット寄りですし「どんぐりの背比べ」かもしれません。

 なんか山田世紀さんの著作に出てくるプラズマ生命対有機生命(お互いに有り得ない理論で構成されているため、戦いに敗れた方が存在自体消滅)を思い出してしまった。タイトルは忘失。

 経営ドリブン(needs)と技術ドリブン(seeds)の温度差も埋め難い。バッドノウハウカンファレンスのnaoyaさんのエピソードのように、わかるように3分で説明しなければならない。
 経営者や上司に説明するには、鍛えてない部分の脳をフル回転する必要がある。いや苦しいけど鍛えなければならない。
 いわゆる「えらいひとにはそれがわからんのですよ」で思考停止するのは「それはバッドノウハウだから覚えない」に通ずる危険性があります。なかなか実践できてませんけど。



 …現実に戻って。
 しかしなんでMail(SMTP)がSystem.Web名前空間の中にあるのだろう…>.NET Framework
 SOAP bindingのためかと思ったらHttpRequest/ResponseはSystem.Netの下にあるし、階層のつけ方がよくわからない…

2004-05-18 Tue

* 地下潜伏失敗(うそ) [コミュニティ]

 あらま、あちらこちらにこのサイトが発見されていたのですね。Web公開した時点で隠しもへったくれも無いことは世の常識ですが。
 bills.taro-web.comで引けているのがほとんどのようですね。dnsの設定をのぞいてみる…(ごそごそ)…なるほど。
 たろさんには「勝手に記事取得」までしていただいて…うーんRDFのtitleから日付は外したほうがいいかな。というかサイトβサービスとして大変重宝しており感謝いたします>たろさん

 chalow へのフィードバックなどができれば良いのですが、これまでに記載したような、へっぽこカスタマイズでは遠い道のりですね。落ち着いたら「動いてます」だけでも報告したいところです。

2004-05-17 Mon

* きびだんご [たべもの]

 先日購入した北海道物産品[2004-05-11-2]のひとつ。
 パッケージには桃太郎風の人物と猿、犬が描かれています。

きびだんご3本パック

 きびだんご、といえば岡山だと思うのですが、北海道。地元で食していたときは北海道産と知りませんでした。
 黒飴っぽい味の餅菓子といった感じです。

パッケージより:

 「谷田の日本一きびだんご」は、大正12年弊社の創製したもので、
自然の原料だけを使い甘さを抑えたお菓子です。
 そもそもは、関東大震災の復興を願い、また北海道開拓の精神を込め「起備団合」と命名していましたように、保存性に優れたおやつ、非常食として親しまれてきました。
 また、大正4年の大正天皇の大嘗祭にちなんだ「大嘗飴」も冬季限定で販売製造しております。(以下略)
だそうです。
 詳細はそのままのドメインのウェブサイトhttp://www.kibidango.co.jp/へ。

2004-05-16 Sun

* 今週の録り溜め番組 [テレビ]

- サクサク
 TVKのサイトが変わったので、サクサクのページもリニューアルされているかと思いきや、相変わらず…もはやトップページの木村カエラは「誰だこりゃ?」になっているような。
 出演者(黒幕)の携帯電話が収録中に鳴って、しかもそれが放映されるというノリは相変わらず。
 視聴者の投稿CGムービーは、一発ネタで良くそこまで。結構長かったような気がします。
 ゲスト対談中無口のカエラがようやく発した「じれったい」へのコブクロ黒田の「やっとしゃべったと思ったらT-BOLANか?」というツッコミや、インターネットサーフィン話でのジゴロウの「秘密のフォルダに『日本名水100選』ってつけたり…」が笑えました。

- トリビアの泉
 今週は「えーそんなのが採用?」というのは個人的には無し。発言とへぇの数が一致しないビビる大木へのタモリのツッコミ「もっと感じろ!」。

* てもみん [てもみん]

 今日はいつもより10分長い40分@チェアー。
 chalowいじり過多で右肩が痛いので、そこを集中的にマッサージしてもらう。

* Trackback Auto Discovery [chalow]

 たつをさんの解説を参考にTrackBack用RDFを入れるようにしてみました。
 このサイトではアイテムごとにTrackBackできるようにしていますが、アイテムごとにページを分けていないので、あまりうれしくないような気がします。
 その他レイアウト修正など。

2004-05-15 Sat

* 見出しモード修正 [chalow]

 見出しモード[2004-05-10]がchalowのリンクマークアップ(ブラケット2個)の処理と干渉し、アイテム内にリンクが存在すると変な風にレンダリングされてしまうため、とりあえず他の文字(|:縦棒)に変更しました。
 根本的に見直さないとだめですね。

* ほんとにそのまま終わっちゃった [chalow]

 先日来のチャレンジ[2004-05-13]空しく、TrackBack支援環境の作成をあきらめました。

 とりあえず「トラックバックのスタンドアローン実装(リンク先はmiyagawaさんによる日本語版)」内に、そもそもPingerがあることに(よく考えたら当たり前)軽い挫折感を覚えつつ、それに手を入れてTrackBack POSTフォームにインラインフレーム(iframe)を設け、そこにトラバース元の日付・アイテムインデックス情報から割り出した日付ページを表示しました。
 そしてiframe内のドキュメントから抽出したタイトルや本文等のTrackBack情報をJavaScriptで抽出し、フォームに転記しようと先日の書きかけBookmarkletを移植しつつ作業をすすめました。
 ところがBookmarkletの時とは違って思うようにHTML構造がトラバースできない…どうやらiframeが絡むとうまくいかない模様。DOMをあきらめIEのDHTMLオブジェクトに手を出したりと粘ったのですがうまくいかず、そふぃあさんのサイトのフラグメント参照解説を見て、IEのDHTMLフレームコレクション参照→DOM参照でたどれるという情報にそんなもんわかるかっと今更ながらIEに悪態をつきつつ、なんとかiframe配下のオブジェクトまで辿りつきました。
 その後やり方が悪いのでしょうが、うまくトラバースできず、結局あきらめました。素直にiframe内に表示した記事からコピペしてTrackBackすることに。

 いやもうバッドノウハウ全開ですな。

参考にした資料
- ウェブログ入門 - BloggerとMovable Typeではじめる
- JavaScriptデスクトップリファレンス
- JavaScript::Bookmarklet
- トラックバック技術仕様書
- Document Object Model (DOM) Level 2 Core Specification Version 1.0
- Document Object Model (DOM) Level 2 HTML Specification Version 1.0
- Standard ECMA-262 ECMAScript Language Specification 3rd Edition
- HTML and DHTML Reference (MSDN)
- フラグメント参照

2004-05-14 Fri

* バッドノウハウカンファレンス2004 [コミュニティ]

 バッドノウハウカンファレンスに参加しました。昨年のTech Talks#4にも参加したのですが、大変面白く(会場爆笑が何度も)、技術的にも興味深い話を聞く事ができ、とても有意義でした。
 会場で途中からたろさんと合流。
 自分でも経験したことのあるバッドノウハウ話に苦笑しつつ、よく手段を目的化する自分に、ちょっとした罪悪感を感じたり…そういうバッドノウハウerを地で行く自分ですが、そこで知り得た情報が後日役立つこともあり、そう捨てたもんでも無いな、と。まぁ後日役立たないことの方が多い気がしますが。

 バッドノウハウを思わず(思っても)追求してしまう人を深追い人と呼ぶことを提唱してみよう。5/15 23時現在googleで0件。
 どこかで聞いたような気もしますが。


- 深追い禁止リスト
- 傷追い人

2004-05-13 Thu

* プロジェクトに、暗雲が、立ち込めた(田口トモロヲ調) [chalow]

 TrackBack bookmarkletを作ろうとしました。
 bookmarkletどころかJavaScript(ECMAScript)自体ほとんど初めてなので、しょっぱなから苦労しつつ、DOMでなんとかHTMLの要素を抜き出せるようになってきたところ…bookmarkletの長さ制限にぶつかってしまいました。
 切り詰めても収まりそうになく、あきらめてCGIにリダイレクトして、HTML内のJavaScriptから別フレームに読み込んだトラックバック対象エントリを参照するように方針転換することにしました。
 ぐぐっていると、IE6ではbookmarkletの最大長は508bytesという情報を見たのですが、自分の環境では255bytesで切られます。セキュリティパッチとかで最近は短くなったんでしょうか?

Referrer (Inside): [2004-05-15-1]

2004-05-12 Wed

* 10GO災害(テンギガオーダー・クライシス)

 といっても小川一水さん導きの星シリーズに出てくる事象ではなくて、仕事でのできごと。
 10GBytesのデータを提供するので、とあるシステムの動作を検証してくれという依頼…災難です。

* コメント機能置き換え [chalow]

 くっつきBBSを、なぜか古いversion 0.4で運用していたので、version 1.0rc2に置き換えました。
 TrackBack Bookmarkletを組み始めたのですが、時間切れで明日以降に持ち越し。

2004-05-11 Tue

* みそぱん [たべもの]

 先日、川崎アゼリアで物産展が催されていて、出身地の北海道の店をのぞいたら懐かしいものが売っていたので、いくつか購入してしまいました。

 そのうち一つ「みそぱん」

みそぱん開封済み

 味噌味のパン以外の何者でも無いのですが、懐かしい味。もそもそしているので、口の中にひっついて食後が大変、というのがちょっとつらいところ。

Referrer (Inside): [2004-05-17-1]

* サルのようにいじる [chalow]

 いいかげん「びるず雑記 by chalow」じゃなくて「びるず雑記 for chalow」のようになってきましたが、手段が目的と化するのはいつものことなので、気にしないことにします。

 とりあえず単一行モード[2004-05-10-2]のマークアップは'__'にしなくても' '(いわゆる全角空白)で済むので、変更。

 コメントやトラックバックをアイテム毎にしたりいじっているうちにデフォルト状態ではHTMLコメント<!-- -->の形でauthor等が漏洩(おおげさ)してしまうようなのでcl.confからそれらを外す。

 トラックバックがひとつも無い状態では「トラックバック()」となんかマヌーな感じなので0を表示するスクリプトを強制出力。
 スクリプトが既に存在する場合には上書きしないようにしています。
 運用環境と生成環境を別にしている場合は、ファイル転送時に日付比較をするなど注意する必要があります。もっとも上書きしてしまってもトラックバックエントリ(<TrackBackID>.storというファイル)は残っているので手間はかかりますが復元可能です。
 自分のカスタマイズではアイテム毎にトラックバックを置いたのでアイテム毎にスクリプトが実行され、表示がもっさりしてしまいました。

 トラックバック(0)強制出力

### HTML 生成のためのループ
foreach my $ymd (sort keys %all_entries) {
:
        my $this_item = $t->output();
## 2004-05-11 bills : 0トラックバック生成
## begin
        make_trackback($item_id);
## end
:
## 2004-05-11 bills : 0トラックバック生成
## begin
sub make_trackback {
    my ($tb_id) = @_;
    my $target_path = "$outputdir/$trackback_generate_path/$tb_id.js";
    unless (-e $target_path) {
      my $content = qq{document.write('0');\n};
      output_to_file($target_path, \$content);
    }
}
## end
(別途$trackback_generate_pathをコンフィグ対象変数として定義。値は'tb/tb_data'など)

 TrackBack pingのBookmarklet(chalow HTMLから項目自動抽出)&pingger CGIなどのやりたいこと[2004-05-09-1]もあるけど、ここで時間切れ。

2004-05-10 Mon

* 1.0rc1への移行(インデックスでの見出し表示) [chalow]

 0.24にカスタマイズした見出しモード[2004-05-08-3]を移行。
 ざっとソース眺めたときに該当部分があまり変わって無いように見えたので、「へへーん」と思ったら...ちょっと悩みました(^^;
 表層のアドホックな対処なので、もっとデータソースに近い部分に手を入れればいいような、またはHTML::Templateの方で対処したほうがいいような気がしますが、深追いは次の機会にとっておくことに。
 またカテゴリ毎の出力(write_category_page())への対応が抜けているため制御文字列\[\[\[heading\]\]\]が無様に残ってしまいます。
 制御構造の記法やコメント記法は試行錯誤中のため先日と変化しています。

sub write_day_page {
:
        $t->param(next => $day_after);
## 2004-05-10 bills : 見出しモード
## begin
## $t->param(content => $month_page{$ym}{$ymd}{str});
        $t->param(content => remove_heading($month_page{$ym}{$ymd}{str}));
## end

        my $ostr = $t->output();
:
sub write_month_page {
:
## 2004-05-10 bills : 見出しモード
## begin
## my @contlist = map } @cont;
        my @contlist = map @cont;
## end

        ### ページの組み上げ
:
sub write_index_page {
:
# $top_n_str .= $month_page{$ym}{$ymd}{str};
## 2004-05-10 bills : 見出しモード
## begin
## push @top_n_entries, {content => $month_page{$ym}{$ymd}{str}};
        push @top_n_entries, {content => make_heading($month_page{$ym}{$ymd}{str}, $ymd)};
## end
    }
    my ($ymd, $ym, $d) = ($recent[0] =~ /^((\d{4}-\d\d)-(\d\d))$/);

    # 日付リンク一覧
:
## 2004-05-10 bills : 見出しモード
## begin
sub make_heading {
  my ($str, $ymd) = @_;
  if ($heading_mode) {
    my $url = datestr2url($ymd);
    $str =~ s!\[\[\[heading\]\]\].+?</p>![<a href="${url}">全部読む</a>]</p>!gsm;
  }
  return $str;
}

sub remove_heading {
  my ($str) = @_;
  $str =~ s!\[\[\[heading\]\]\]!!gsm if ($heading_mode);
  return $str
}
## end

* 1.0rc1への移行(改行とレイアウト) [chalow]

 0.24にカスタマイズした単一行モード[2004-05-08-2]を移行。
 ついでに単一行クラスタ間に空行が無くてもいいように修正。
 プラグイン化はちょっとプラグインの記法と異なるので保留。
 制御構造の記法やコメント記法は試行錯誤中のため先日と変化しています。

sub okikae {
:
## 2004-05-10 bills : 単一行モード
## begin
    s!^ (.+?)(^$|\z|(?=\s* ))!make_single_line($1)!gsme if ($single_line_mode);
## end
    s!$!<br>!gsm;
    s!<br>$!!;
#print "2[$_]\n";
:
}

## 2004-05-10 bills : 単一行モード
## begin
sub make_single_line {
  my ($line) = @_;
  $line =~ s!\n!!gsm;
  return " ${line}";
}
## end
(別途$single_line_modeをコンフィグ対象変数として定義)

Referrer (Inside): [2004-05-24-1] [2004-05-11-1]

* 1.0rc1に移行&もうリニューアル [chalow]

 TrackBack pingツール作るときにDocumentオブジェクトからHTML構造をたどる予定です。で、1.0rc1のリリース情報を見ているうちにいやな予感がしてきたので、傷が浅いうちに(^^;1.0rc1に移行しました。

 ついでにトップページもリニューアル。といっても知り合いにアナウンスもしていない準備期間なので、間違って来ない限り独り言モードなんですが。

Referrer (Inside): [2004-05-15-2]

2004-05-09 Sun

* 運動不足

 今日は側転をしたら先日いためてやっと直ってきた右大腿側部(この呼称で合ってるか不明)をいためてしまいました。前屈・開脚も全然だし、地味に運動不足解消しつつ改善したい。

* タイミングの悪い俺 [chalow]

 利用し始めた途端、chalow 1.0rc1がリリース(^^;。追っかける前にやることが…今日は時間切れ。

- Trackbackがちゃんと設置されていないようなので、設定し直す。
- IEできればSleipnirからのTrackBack pingツール作成または入手。
- [2004-05-08-2]のプラグイン化
- リリース1.0の追っかけ
- [2004-05-08-3]のアイテムジャンプ対応

Referrer (Inside): [2004-05-11-1]

2004-05-08 Sat

* インデックスでの見出し表示 [chalow]

 うっ、いじってる内に日をまたいでしまった…それはともかく。

 ↓のエントリが長くなってしまったのでMovableTypeなどで見られるようなエントリの途中まで表示して残りはリンク先、という「見出しモード」を仕込んでみました。

sub write_day_page {
:
  $content =~ s|<h2>.+?</h2>||sm;
  ## 2004-05-08 bills : 見出し
  $content = remove_heading($content);
:
sub write_month_page {
:
  my $content = join('', map {$month_page{$ym}{$_}} @cont);
  ## 2004-05-08 bills : 見出し
  $content = remove_heading($content);
:
sub write_index_page {
:
## 2004-05-08 bills : 見出し化
## $top_n_str .= $month_page{$ym}{$ymd};
    $top_n_str .= make_heading($month_page{$ym}{$ymd}, $ymd);
:
## 2004-05-08 bills : 見出し
sub make_heading {
  my ($str, $ymd) = @_;
  return $str if ($heading_mode == 0);
  my $url = datestr2url($ymd);
  $str =~ s!\[\[\[heading\]\]\].+?</p>![<a href="${url}">全部読む</a>]</p>!gsm;
  return $str;
}
:
## 2004-05-08 bills : 見出し
sub remove_heading {
  my ($str) = @_;
  return $str if ($heading_mode == 0);
  $str =~ s!\[\[\[heading\]\]\]!!gsm;
  return $str
}
(別途$heading_modeをコンフィグ対象変数として定義)

 ChangeLogテキストの区切りたい場所に\[\[\[heading\]\]\](実際には\を抜いたものです)と記述すると、それ以降はインデックスでは[全部読む]というリンクに置き換えられます。ロジックの都合上(手抜きともいう)、日単位にしか飛べません(^^;

Referrer (Inside): [2004-05-10-3] [2004-05-09-1]

* 改行とレイアウト [chalow]

 chalow ではChangeLog形式テキストからエントリを生成しますが、テキストの改行毎に<br>タグを生成します。

 エディタで論理改行(折り返し)を使わない派の自分は、適当な文節や桁数で改行を入れてテキストを作成するのですが、その改行でレイアウトに影響が出てしまうのが個人的にあまりうれしくないと感じました。

 そこでまず、ちょっと chalow をいじって、改行のみの空行の時だけ<br>タグを付けるようにしました。YukiWiki等のように、空行があらわれるまではひとつの行として見た目の改行をせず、同一行に連結するものです。

#print "1[$_]\n";
## 2004-05-08 bills : 空行のみ<br>を付ける
## s!$!<br>!gsm;
## s!<br>$!!;
    s!^$!<br>!gsm;
#print "2[$_]\n";

 元テキストとWeb上の表記に乖離が生じますしChangeLog的にも、あまりうれしくないのかなぁ?
 と思ったら引用部分まで連結してしまったので修正を試みたのですが、折り返したい部分と折り返したくない部分の切り分けが難しく、chalow でいろいろ機能を使い出すと結局元テキストにマークアップが入るので、同一行連結もマークアップでいいや、と以下に落ち着きました。

#print "1[$_]\n";
## 2004-05-08 bills : 単一行モード
    if ($single_line_mode != 0) {
      s!^ (.+?)(^$|\z)!make_single_line($1)!gsme;
    }
    s!$!<br>!gsm;
    s!<br>$!!;
#print "2[$_]\n";

(略)

## 2004-05-08 bills : 単一行
sub make_single_line {
  my ($line) = @_;
  $line =~ s!\n!!gsm;
  return " ${line}\n";
}
(別途$single_line_modeをコンフィグ対象変数として定義)

 連結したい複数行の先頭行冒頭にアンダースコア2個を入れると空行までをあらかじめ物理的に1行にするようにしてみました。

Referrer (Inside): [2004-05-10-2] [2004-05-09-1]

* スタート

 いわゆるblog的なことを始めてみることにしました。

 Web日記、weblog等の類、そしてこの雑記のシステムとしている chalow は扱ったことが無いので徐々に慣れていこうと思います。

 内容的にはくだらないことばかり書いて行く気がしますが、ローカルで無く公開しているからには、誰かに役立ったり、blog的な(良い)相互作用が生まれるとうれしい。

最終更新時間: 2006-06-05 00:56