ChangeLog 最新ページ / カテゴリ最新ページ / 前ページ 1 2 3 次ページ / page 2 (3)

chalow - WinChalow

2004-09-09 Thu

mod_trackback に思ふ


WinChalow のトラックバック実装に mod_trackback [2004-09-01] を使っての人柱をしていますが、いくつか問題点が出てます。

TrackBack(1) とかいうところをクリックすると、トラックバック情報が出たり引っ込んだりします。で、この javascript がページ読み込み時に、いったん中身を展開してから、あわてて隠してます。このため、エントリーの奇遇性に依存して、ページを開いたときに、出ている状態になったり、引っ込んだ状態になったりします。ちょっと変。

商品レベルに到達するには、exite blog のような location.href で中身を引いてくるような方法の方がかっこいいと思われます。かといって、これ以上改造するのも疲れるし。アナザー人柱プリーズ。

2004-09-06 Mon

winchalow 0.0.9c


タブ + 全角空白 + 半角マイナス記号 という行があると動作しないというご報告をいただきました。
オリジナル chalow の clean_changelog というサブ・ルーチン中、プライベート・エントリ削除後に空となるエントリーを削除する正規表現が、Windows perl 5.8 系ではハングアップすることが確認されました。perl のバグではないかと思われますが、そんなことをいっても始まらないので正規表現を修正しました。

ダウンロードはこちらから:
winchalow-0.0.9c
[http://blogger.main.jp/changelog/winchalow.lzh]

2004-09-02 Thu

サクラエディタ用changelog


サクラエディタ用のchangelogマクロが配布されているのを見つけましたはあと
chalowのお友達がまた増えましたね。
http://testicle.ddo.jp/sakura.html

2004-09-02 Thu

WinChalow トラックバック改造


chalowのトラックバックはCGIベースのくっつき系なのであるが、いまひとつパッとしない。

そこで、mod_trackback[2004-08-31]を使ってchalowのトラバ・ホスティングをしてみようということになった。ぼちぼち作業中です。試験用のトラバを張ってみましたはあと

自己言及的トラックバックのテスト http://blogger.main.jp/changelog/2004-09-02.html

2004-08-01 Sun

RecDescent ベンチマーク


chalow オリジナルのパーザと Parse::RecDescent を使ったパーザのベンチマークをとってみました。2:77でchalowの圧勝。今年の夏は終わった...(笑)

10:58:27 chalow$ perl bench.pl <ChangeLog
Benchmark: timing 100 iterations of p1, p2...
p1: 2 wallclock secs ( 1.95 usr + 0.00 sys = 1.95 CPU) @ 51.20/s (n=100)
p2: 77 wallclock secs (76.77 usr + 0.64 sys = 77.41 CPU) @ 1.29/s (n=100)

2004-07-28 Wed

ChangeLog パーザ


パーザのみを独立したモジュールにすると、なにかと便利ですね。
Parse::RecDescent を使った簡単なパーザを試作してみました。はあと

EUCコードで入出力することを前提していますので、nkf からパイプしてください。今回は動作確認だけなので、chalow とはデータ構造が異なります。いずれは chalow 互換になる予定です。

RecDescentを使うと、ChangeLog の論理構造を記述するだけですむので(作るのはたいへんだったけど結果的には)非常にシンプルになります。

#! perl -w
# Parse ChangeLog
# Copyright: (C) Project PaoPei with zuihu 2004 JAPAN
# $Id: remoteclog.txt,v 1.2 2004/12/06 08:58:45 zuihu Exp $

package ParseChangeLog;
use strict;
use Parse::RecDescent;
use Data::Dumper;

our $VERSION = '0.1';

my $grammar = q(

file: entry(s)
{
my %file;
for (@{$item[1]})
{
(my $date = $_->[1]->[0]->[0]) =~ s/\-//og;
$file{$date} = $_->[1];
}
\%file;
}

entry: entryheader item(s)
{
my @entry;
push @entry, $item[1], $item[2];
[ $item[1], \@entry ];
}

entryheader: date user
{[$item[1], $item[2]]}
 | date
{[$item[1]]}

date: /\d{4}-\d\d-\d\d/ /(\s\(.+?\))?/
{$item[1]}

user: /.+/
{$item[1]}

item: itemheader itembody(s)
{ [$item[1], $item[2]] }
 | itemheader
{ [$item[1]] }

itemheader: /^\* / /([^\:]+)/ /:\s*/
{$item[2]}

itembody: /^(?!(\* .+?:|\d{4}-\d\d\-\d\d))(.*)/
{$item[1]}

);

my $text;
{
  local $/ = undef;
  $text = <STDIN>;
}
my $log = Parse::RecDescent->new($grammar)->file($text);
print Dumper($log);

2004-07-28 Wed

ChangeLogメモ ついにブレークか!?


論客で知られる橋本大也氏が ChangeLogメモを採用しておられるとのことだ。さすがに慧眼である。秀丸マクロも使っておられるらしい。
[http://www.ringolab.com/note/daiya/archives/001889.html]

地味でニッチな((C)たつを氏)ChangeLogメモであるが、そろそろブレークの兆しが感じられるのではないだろうか。

そういえば本家chalowの RC2 がリリースされている。お盆明けには正式リリースになりそうだ。
[http://nais.to/~yto/clog/2004-07-26.html]

このところ常用していたアンテナが故障中のため、どうしても世間の動きからとりのこされがちである。アンテナのコードが読んでも分からない。書いたプログラマはバカか(って自分か...)。クラスタリングを道家の秘法で煮詰めればメタデータができると思ったのだが、コーディングレベルでいきづまっていてはお話にならない。

アンテナがないと困るのも事実だから、超クセの強いシステムではあるが、それなりにセマンティック的には有効なのかもしれない。そう思うとちょっとうれしい。山にでもこもって考え直そう。

2004-07-21 Wed

ukiuki.pl


浮きアイテムを一番新しい日付のエントリーに移動するユーティリティ[2004-07-08]をバージョンアップしました。次のオプションが追加されています。

-n 移動したアイテム・ヘッダーにオリジナルの日付を入れない。
-p 浮きアイテムのヘッダーにありがちな、しかし致命的なミス(pや:が全角とか)をチェック

ダウンロードはこちらからはあと
ukiuki.pl
[http://blogger.main.jp/changelog/ukiuki3.lzh]

2004-07-08 Thu

ukiuki.pl


ChangeLog ファイルの中のプライベート・エントリー(浮きアイテム)を一番新しい日付のエントリーに移動するユーティリティです。わたし的には必需品ですはあと

用例:perl ukiuki.pl -b Shift_JIS -o Shift_JIS -f 20040707 changelog.txt > newlog.txt

オプション:
-b 入力ファイルの文字コード [デフォルトは Shift_JIS]
-o 出力ファイルの文字コード [デフォルトは Shift_JIS]
-f いつのエントリーから移動対象にするか (用例では 2004年7月7日以降)

ダウンロードはこちらから:
ukiuki.pl
[http://blogger.main.jp/changelog/ukiuki.lzh]

2004-07-06 Tue

winchalow 0.0.9b


更新が遅くなりましたが、懸案のアイテム・ソートのバグの解消方法を改善しました。

0.0.9a では、ソートは正しくできるものの、一日あたり2個以上のアイテムがあるときに、アイテムへの直接リンクを張るうえで不都合が生じていました。具体的には、1,2,3,.. .. .. の数字を32桁のゼロフィルに変更したため、引用するアイテムのアドレスが異様に長くなって実用上差し支えがあるというものです。

今回は、ソート・ルーチンそのものを Perl 5.8 用に修正し、アイテム番号はオリジナルのまま(ゼロフィルしない)としました。オリジナル chalow と同じ書式でアイテムの引用ができるようになりましたはあと

なお、changelog.txt が一定以上大きくなると動作に不具合が生じるとのご報告があるようですが、再現しません。Win32用Perl の Data::Dumper モジュールが、一定以上大きいデータのダンプをさせると異常を来すことは確認していますが、この場合は数10メガのオーダーで発生する問題なので関係ないようです。目下調査継続中です。

ダウンロードはこちらから:
winchalow-0.0.9b
[http://blogger.main.jp/changelog/winchalow.lzh]

2004-06-25 Fri

blogのリスク


「トラックバックの方、先日のディスク障害(深夜blogサービスを緊急停止した件です)の為、一部のファイルが破損してしまっている可能性があります。」
http://blog.livedoor.jp/mannget/

なんと100億稼ぐ社長のブロッグまでが(絶句)。
大手blogホストのディスク障害は後を絶ちませんね。
データとシステムが手許にある、これが ChangeLog/chalow の利点ですはあと。社長!、オン社でもWinChalowいかがっすか? いまなら99億円におまけしまっせ。

2004-05-30 Sun

winchalow-0.0.9a


ユーザー様から、1日あたりのアイテムが10個以上になるとソートが変というご指摘をいただきました。known bug です。フィックスしたバージョンをアップしました。

もともと perl 5.6 までだと、[1,2,3,'eh'] というような数字と文字列が混在したリストを全部数字とみなしてソートできたのですが、perl 5.8 では数字と文字の区別が厳格になって、これがエラーになってしまいます。winchalowでは、文字列ソートで当座をしのいでいましたが、アイテム数が10個以上になると馬脚を現します。まさか日記で一日10アイテムはないよね、という素朴な前提がくずれたわけです。

技術的には、changelogパーザをいじって、エントリー・ハッシュのキーを sprintf("%032d", $iid) することで文字列ソートに対応しました。複数人のエントリーで、非常に多数人となる状態では、また馬脚を現すかもしれませんが、普通の日記ではまず大丈夫かと思います。

馬の脚が絶対出ないようにするには、chalow内部のデータ構造を全面的に変更しなくてはなりませんが、本家との調整が必要かも知れません。('eh'キーの取扱い)

ダウンロードはこちらからはあと:
winchalow-0.0.9a
[http://blogger.main.jp/changelog/winchalow.lzh]

2004-05-19 Wed

tb.cgi の sanitization


tb-standalone v.1.02 を使ったトラックバックのXSS対策として、表示文字列をCGI::escapeHTMLしてみました。

63,65c63,65
< $item->{url}, Jcode->new($item->{title})->euc,
< Jcode->new($item->{blog_name})->euc || "[No blog name]",
< Jcode->new($item->{excerpt})->euc || "[No excerpt]",
---
> $item->{url}, CGI::escapeHTML(Jcode->new($item->{title})->euc),
> CGI::escapeHTML(Jcode->new($item->{blog_name})->euc) || "[No blog
name]",
> CGI::escapeHTML(Jcode->new($item->{excerpt})->euc) || "[No excerpt
]",
[http://blog.bulknews.net/mt/archives/000383.html]
[http://nais.to/~yto/clog/2003-09-25.html]

2004-05-10 Mon

chalow 1.0rc1


連休明けにchalow1.0rc1がリリースされました。
[http://nais.to/~yto/clog/2004-05-09.html]

diffをとって眺めてみたところ、HTMLのテンプレート関係がHTML::Templateに変更になったことと、スタイル関係以外は、大きな変更はなさそうです。"rc"がとれてから対応することにしました。

2004-05-06 Thu

winchalow 0.0.9


・winchalow
トラックバック関係の大域変数($opt_trackback)定義をする場所が、コマンドライン・オプションの読み込みの後であったことによる不具合を修正しました。
・autoping.pl
コンテンツが252bytes以下のときにサイドメニューがexcerptに取り込まれるバグを修正
excerptの末尾にドットが6つ入っていたのを3つに修正
・Atomフィードに対応
・mergelog.pl
職場と自宅、デスクトップとノートなど複数のChangeLogをマージします。

Cross Link Serverにpingを送る機能は今回は間に合いませんでした。サーバーの方は順調に立ち上がり、テスト中です。

近々、本家chalowのメジャー・バージョンアップがありそうなので、それにあわせてwinchalowもメジャー・バージョンアップとなるでしょう。

ダウンロードはこちらからはあと:
winchalow-0.0.9
[http://blogger.main.jp/changelog/winchalow.lzh]

2004-04-27 Tue

Googlebot hunts for atom


Google bot が atom.xml を嗅ぎ回っているとのことです。winchalowの次のリリースはatom.xmlに対応します。

[http://danja.typepad.com/fecho/2004/04/googlebot_hunts.html]
via [http://blog.bulknews.net/mt/archives/000958.html]

2004-04-22 Thu

Windowsユーザーのための電子メモ術


chalowの山下氏から、氏は親指でコントロールキーを押す派であることをご指摘いただいていたので、注記[6]にお詫びと訂正を追加しました。
[http://blogger.main.jp/changelog/yayadoc/memolit.html]

2004-04-20 Tue

chalow本家でご紹介いただく


Windowsユーザーのための電子メモ術」をchalow本家でご紹介いただきました。
[http://nais.to/~yto/clog/2004-04-19.html]

2004-04-19 Mon

winchalow 0.0.8


お待たせしました。2週間ぶりのバージョンアップです。
・出力コードをEUC-JPに変更
これでclsearch.cgiによる全文検索に対応できるようになりました。
・FTPアップロードを、更新ファイルのみに限定
各ファイルのMD5値を記録して、更新を検出します。
・Auto TrackBack対応
autoping.pl を実行すると、引用HTMLのTrackBack先を自動的に検出して、pingを送ります。同一のページから同一のURLには一度しかpingを送りません(のはず)。

ダウンロードはこちらから:
winchalow-0.0.8
[http://blogger.main.jp/changelog/winchalow.lzh]

開発中の次のバージョンでは:
・複数のChangeLogのマージに対応
・Atomフィードに対応
・Cross Link Serverにpingを送る
ゴールデンウィーク中に仕上げる予定です。乞うご期待はあと

2004-04-14 Wed

winchalow好調なすべりだし


今週になって、急にwinchalowのダウンロード数がのびてきました。ありがとうございます。はあと
ダウンロードはこちらから:
winchalow-0.0.7
[http://blogger.main.jp/changelog/winchalow.lzh]