たつをの ChangeLog : 2005-01-05

トラックバックは tb-standalone を使っているのですが、cron で動かす
タイプのスクリプトを作って「最近トラックバックを頂いた記事のリスト」
を JavaScript ファイルとして出すようにしました(くっつき手法です)。
こういう場合は、CGIをハックするのが正統派ですし、そもそも誰かがきっ
とやっているはずなのですが、なんか面倒なのでくっつきシリーズのソー
スをテンプレートにして、クイックなげやり。

ソース: recent_tb.pl
#!/usr/bin/perl
use strict;
use Getopt::Long;

$Getopt::Long::autoabbrev = 1;
my %opt = ();
GetOptions(\%opt, "number=s", "output=s");
my $number = $opt{'number'} || 5;
my $output_fn = $opt{'output'} || "a.js";

my $now = time;
my $dirname = shift;

my @tb_sorted = sort {$b->[1] <=> $a->[1]}
    map { [$_, (stat $_)[9]] } <$dirname/2*.stor>;

my $str;
for (0..($number - 1)) {
    my $e = int(($now - $tb_sorted[$_][1]) / 3600);
    my $m = ($e < 24) ? $e."H" : int($e/24)."D";
    my ($id) = ($tb_sorted[$_][0] =~ m!/(\d+).stor!);
    $id =~ s/^(\d{4})(\d\d)(\d\d)/$1-$2-$3/;
    $id =~ s/-(\d\d)(\d+)$/-$1-$2/;
    $str .=
      qq{document.writeln('- <a href="$id.html">$id</a> ($m)<br>');\n};
}

open(F, "> $output_fn") or die "Can't open $output_fn : $!\n";
print F "$str\n";
close(F);
以下のような記述を .crontab に追加。
0 * * * * /home/yto/www/clog/tb/recent_tb.pl /home/yto/www/clog/\
tb/tb_data -n 5 -o /home/yto/www/var/tb.js
HTMLファイル(chalow なら cl.conf のテンプレート)にこんなの追加。
<script language="JavaScript" src="http://nais.to/~yto/var/tb.js">
</script>

これ、ちょっと変えたらくっつきBBSにそのまま使えることに気づいたの
で「最近コメントを頂いた記事のリスト」も出すようにしました。

ソース: recent_cm.pl
(パッチを載せようと思ったら、ソースそのままの方が短かった)
#!/usr/bin/perl
use strict;
use Getopt::Long;

$Getopt::Long::autoabbrev = 1;
my %opt = ();
GetOptions(\%opt, "number=s", "output=s");
my $number = $opt{'number'} || 5;
my $output_fn = $opt{'output'} || "a.js";

my $now = time;
my $dirname = shift;

my @tb_sorted = sort {$b->[1] <=> $a->[1]}
    map { [$_, (stat $_)[9]] } <$dirname/*.js>;

my $str;
for (0..($number - 1)) {
    my $e = int(($now - $tb_sorted[$_][1]) / 3600);
    my $m = ($e < 24) ? $e."H" : int($e/24)."D";
    my ($id) = ($tb_sorted[$_][0] =~ m!/([\d-]+).js!);
    $str .=
      qq{document.writeln('- <a href="$id.html">$id</a> ($m)<br>');\n};
}

open(F, "> $output_fn") or die "Can't open $output_fn : $!\n";
print F "$str\n";
close(F);
以下のような記述を .crontab に追加。
0 * * * * /home/yto/www/clog/kblog/recent_cm.pl /home/yto/www/clog/\
kblog -n 5 -o /home/yto/www/var/cm.js
HTMLファイル(chalow なら cl.conf のテンプレート)にこんなの追加。
<script language="JavaScript" src="http://nais.to/~yto/var/cm.js">
</script>

こんな感じになりました:
IMG

なお、ソースは「無償・無保証・著作権放棄」 です。
さりげにシュウォーツ変換[2003-07-11-2]を使っているのがポイント。
(てなことはだまっておくべき)

ref.
- くっつきシリーズ
  <http://ta2o.net/tools/index.html#kuttuki>
- くっつき BBS
  <http://ta2o.net/tools/kuttukibbs/>
- 技術文書:くっつきトラックバック
  <http://ta2o.net/doc/tech/kuttuki-trackback.html>
- サイドバーに最近のトラックバックを表示する (MovableType)
  <http://www.movabletype.jp/developers/cheebow/archives/2004/08/
  post_4.html
>

10年ほど前に中国へ行ったとき、文房具屋で買ったタイムスタンプ。
年月日がスタンプできるんだけそ、そもそも2001年までしかないんだよな。
IMG

安野光雅の絵本

2005-01-05-3 [Book]
「Passion For The Future: 1歳5ヶ月の息子が選ぶ2004年 ベスト絵本」<http://www.ringolab.com/note/daiya/archives/002776.html> で、安野光雅の絵本が何冊か紹介されてますが、私は「ふしぎなえ」や文字シリーズ(ひらがなやアルファベット)が大好きでした。

絵本じゃないですが、氏を含む3人の会談をまとめた「美の幾何学」(中公新書)もおもしろいです。エッシャー、寄木細工、アラベスクというキーワードにピンとくる人におすすめ。


追記100826: 「美の幾何学」の文庫版が出ました。ぜひぜひ。
伏見康治, 安野光雅, 中村義作 / 美の幾何学-天のたくらみ、人のたくみ


こんなカレンダーを探していた:
- 遠くからでも認識できるように文字は大きめが良い。
- 予定は書き込まないので余白はいらない。予定のある日には印をつけて
  おくだけ。詳細はスケジューラで確認するので。

なかなか見つからなかったので結局以下を加工した。
<http://office.microsoft.com/ja-jp/templates/TC011488731041.aspx?
CategoryID=CT011371131041
>
今年はこれでいく。
IMG

ref. [2005-01-04-6]
この記事に言及しているこのブログ内の記事

GREEの日記

2005-01-05-5 [WebTool]
ソーシャルネットワーキングサービスGREEに日記機能ができてました。
今後の展開やいかに!?
IMG
via <http://vanilla.chips.jp/archives/05/01/05-1709.html>

「業務用粉末茶 寿司屋さんの緑茶」。
<http://www5b.biglobe.ne.jp/~tea/powder-teaback/osushiyasan.htm>
茶葉ごと摂取できる!ビタミンC!ヘルシー!
そりゃあまあ賞味期限は切れてるけど[2005-01-03-6]、気にしない!
IMG

たつをの ChangeLog
Powered by chalow