chalow にタグ (カテゴリ) の一覧を視覚化する機能をつけてみた

  トップページ右側のカレンダーの下に設置してみた.
  よくある感じの,タグの視覚化.

  タグの視覚化

  タグの個数から偏差値を算出してフォントサイズ及び前景色を決定しています.
  フォントサイズを算出するところの数式がよく分からなかったので某田上氏に聞いたらあっさり
  解決してくれた.感謝.

  このサイトの傾向が少しでもわかるかもしれないけど,タグを設定していないエントリも多々あるので
  あまり意味はないかもしれませんね.

  ソースは汚い上に,なんか適当すぎて無駄も多いので出したくないんだけど,ここまで書いておいて出さないのも
  あれなので,いやいやながら公開しておきます.

sub create_tag_list {
    my @tags = ();
    my ($max_font_size, $min_font_size) = (24, 9);
    my ($sum, $sum_sq) = (0, 0);
    my ($max, $min) = (0, 9999); # 超 adhoc
    my $i = 0;
    # 平均値と標準偏差を算出
    foreach my $cat (keys %{$cl->{CAT}}) {
        my $n = $cl->{CAT}->{$cat};
        $sum += $n;
        $sum_sq += $n ** 2;
        $i++;
    }
    return if ($i <= 1);
    # 平均値
    my $avrage = $sum / $i;
    # 標準偏差
    my $stdev = sqrt(($sum_sq - $sum ** 2 / $i) / ($i - 1));

    # 偏差値の最大値と最小値を算出
    foreach my $cat (sort keys %{$cl->{CAT}}) {
        my $dev = $cl->{CAT}->{$cat} - $stdev / $stdev * 10 + 50;
        $max = $dev if ($max < $dev);
        $min = $dev if ($min > $dev);
    }

    # フォントサイズと色を決定
    foreach my $cat (sort keys %{$cl->{CAT}}) {
        my $n = $cl->{CAT}->{$cat};
        my $dev = $n - $stdev / $stdev * 10 + 50;
        my $font_size = sprintf('%.1f', ($max_font_size - $min_font_size) * ($dev - $min) / ($max - $min) + $min_font_size);
        my $color;
        if (($max_font_size + $min_font_size) / 3 * 2 < $font_size) {
            $color = '333';
        } elsif (($max_font_size + $min_font_size) / 3 < $font_size) {
            $color = '666';
        } else {
            $color = '999';
        }
        push @tags, sprintf('<a href="%s" style="color: #%s; font-size: %.1fpt;">%s</a>', get_category_filename($cat), $color, $font_size, $cat);
    }
    return join("\n", @tags);
}


  これを適当な位置,例えば,

write_category_list_file();    # カテゴリ一覧を作る
my $tag_list = create_tag_list();


  のように,write_category_list_file() の下辺りで呼び出しておいて,
  各ページを組み上げるところで,以下のようにテンプレート変数に渡してあげれば,使えるようになります.

$t->param(tag_list => $tag_list);

ページがどんなキーワードで検索されたかを TagCloud 風に表示させるくっつきサービス

  http://blog.yappo.jp/yappo/archives/000312.html

javascriptファイルをページに貼り付けておくだけで、そのページに訪問した際に使われた検索キーワードを自動的に検知して
そのキーワード達をTagCloud風に表示させる物を作ってみました。

  面白そう.今度設置してみるか.

Ajax でデスクトップみたいなもの

  http://www.backbase.com/demos/windows/

  Ajax でデスクトップみたいなものを実現しているデモ.
  結構いい感じで動いている.

  また,この会社のほかの Ajax のデモもさくさく動くものばかりで楽しい.

  Ajax Windows

Apache 2.2.0 のロードバランス機能 mod_proxy_balancer は使えそう

- Apache 2.2.0 + mod_proxy_balancer
  http://d.hatena.ne.jp/naoya/20051205/1133782641

- Apache 2.2.0 のロードバランス機能 (mod_proxy_balancer) を使いこなす
  http://blog.yappo.jp/yappo/archives/000352.html

- mod_proxy_balancer - Apache HTTP サーバ
  http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html

  ちょうど,Apache 2.2.0 な機械があるので試してみよう.

MySQL の状態を分析して修正ポイントやチューニングアドバイスを教えてくれる mMeasure

  http://mysql.timedia.co.jp/modules/weblog/details.php?blog_id=79

- mMeasure
  http://mysql.timedia.co.jp/mmeasure/

  おお,これはなかなかいい感じです.Solaris や FreeBSD でも動くのだろうか?

- via: /home/pochi/ChangeLog
  http://www.pochi.cc/~sasaki/chalow/2005-12-05-3.html

NetBSD/FreeBSD i386 シリアルコンソール化

  http://www.gentei.org/~yuuji/rec/pc/memo/2005/12/03/

- シリアルコンソールの設定
  http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/serialconsole-setup. ...

  日本に帰ったらやらなければ.