JavaScript による YAML parser

  http://sourceforge.net/projects/yaml-javascript

  その名の通り JavaScript で YAML を parser するライブラリ.

PHP のソースコードから UML を生成する PHP2XMI

  http://phpspot.org/blog/archives/2005/12/phpuml.html

  php2xmi

  KDE 上でしか動かないようですが,なかなかいいかも.

Perl でラヴレター

our $life = \$love and $togetherness;
and: foreach my $sweet (@first) {
little: until ($we . $met) { last 'and' }
}
if ($now . $we) { goto marry; $we . $shall }
bless our $life, More;


  上記 Perl のコードはもちろん動きます.何もおきませんが…
  ちなみに『プログラミング Perl』にも Perl で書かれた詩がいくつか載っています.

- Jabberwocky and London.pl
  http://www.runme.org/feature/read/+londonpl/+34/

- via: koyachiの日記
  http://d.hatena.ne.jp/koyachi/20051209/1134057305

- プログラミング Perl
  4873110971
  http://www.amazon.co.jp/o/ASIN/4873110971/todaysnonsenc-22/ref=nosim/
  Larry Wall (原著), Jon Orwant (原著), Tom Christiansen (原著), 近藤 嘉雪 (翻訳)
  オライリー・ジャパン
  ISBN: 4873110971
  2002/09
  4,935 円

LD_PRELOAD を利用して,プログラム中で実行される connect() の接続先を syslog へ記録する hook_tcp.so

  http://www.t-dori.net/modules/bwiki/index.php?hook_tcp.so

$ LD_PRELOAD=./hook_tcp.so wget http://www.google.com/

  このように実行することで,syslog には以下のように記録されるらしい.

Dec 25 10:35:15 hostname wget[10718]: connect() : host=66.249.89.99, port=80

  むむむ.これはすばらしい.Linux 専用.

- via:  にわか鯖管の苦悩日記
  http://kikuz0u.x0.com/td/?date=20051227#p01

register_globals が On の環境でも Off と同様の状態にする方法

  http://www.asahi-net.or.jp/~wv7y-kmr/note/2005-12.html#YMD20051225_PHP_reg ...

  PHP 4.2.0 から register_globals は Off になっているのだけれども,
  古いスクリプトは register_globals が On であることを前提にかかれている場合も多い.
  実際,保守しているものの中にも多数ある.

  以下,上記サイトで公開されている関数を使用することでグローバル変数の汚染については回避できそう.

<?php

function unset_register_globals()
{
    // register_globals が有効でない場合は以降の処理は行わない
    if ( ini_get( 'register_globals' ) ) {
        return;
    }
    // $_REQUEST に GLOBALS が含まれている場合はグローバル変数が上書きされる可能性があるため、処理を終了
    if ( isset( $_REQUEST['GLOBALS'] ) ) {
        exit( 'GLOBALS overwrite attempt detected' );
    }
    // 削除しないグローバル変数名をキーとした配列を作成
    $no_unset = array( 'GLOBALS'  => '', '_GET'    => '', '_POST' => '', '_COOKIE' => '',
                      '_REQUEST'  => '', '_SERVER' => '', '_ENV'  => '', '_FILES'  => '' );

    // グローバル変数として登録される変数名をキーにした配列を作成
    $input = array_merge( $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES,
                          isset( $_SESSION ) ? (array)$_SESSION : array() );

    // 登録されたグローバル変数を削除
    foreach ( array_keys( $input ) as $k ) {
        if ( ! isset( $no_unset[$k] ) && isset( $GLOBALS[$k] ) ) {
            unset( $GLOBALS[$k] );
        }
    }
}
unset_register_globals();

?>

全自動 M & Ms 仕分け機

  http://japanese.engadget.com/2005/12/25/mandms-sorter/

誰もが苦労していたエムアンドエムズの色分けを自動的に処理してくれる夢のマシーンがついに登場

  M & Ms 仕分け機

  M & Ms のチェコレートを色別に仕分ける機械.バカすぎる.

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

Web サーバのフィンガープリンティングツール httprint

  http://net-square.com/httprint/

  Web サーバにリクエストを送って,Web サーバの種類とバージョンを特定するツール.

  httprint

  手元の機械では 84.34% の確立で Apache/2.0.55 と判別されました.
  うむ,なかなかやるな.

  ちなみに,Apache のログには以下のログが残った.

192.168.1.10 - - [27/Dec/2006:21:47:44 +2700] "\x16\x03" 501 293 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:45 +2700] "GET / HTTP/1.0" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:45 +2700] "GET / HTTP/1.0" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:46 +2700] "OPTIONS * HTTP/1.0" 200 - "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:47 +2700] "OPTIONS / HTTP/1.0" 200 - "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:47 +2700] "GET /antidisestablishmentarianism HTTP/1.0" 404 310 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:48 +2700] "PUT / HTTP/1.0" 405 315 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:48 +2700] "JUNKMETHOD / HTTP/1.0" 501 306 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:49 +2700] "GET / JUNK/1.0" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:50 +2700] "get / http/1.0" 501 299 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:50 +2700] "POST / HTTP/1.0" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:51 +2700] "GET /cgi-bin/ HTTP/1.0" 403 294 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:52 +2700] "GET /scripts/ HTTP/1.0" 404 290 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:52 +2700] "GET / HTTP/0.8" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:53 +2700] "GET / HTTP/0.9" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:53 +2700] "GET / HTTP/1.1" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:54 +2700] "GET / HTTP/1.2" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:55 +2700] "GET / HTTP/1.1" 400 305 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:55 +2700] "GET / HTTP/1.2" 400 305 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:56 +2700] "GET / HTTP/3.0" 200 22 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:56 +2700] "GET /.asmx HTTP/1.1" 404 287 "-" "-"
192.168.1.10 - - [27/Dec/2006:21:47:57 +2700] "GET /../../ HTTP/1.0" 400 310 "-" "-"

Windows XP の動作を軽快にしたい

  http://www.mtblue.org/pc/tips/speed_up_xp.php

  内容としては別に新しくもないけど,メモ的なもの.

Vim で検索でマッチした対象に対して置換を行う方法

  http://advweb.seesaa.net/article/11035679.html

<C-r> /

  で最後に検索した検索が呼び出せるので,検索した後に

:%s/

  まで打ち込んで,前述の <C-r> / で検索後をいれて置換する.

JavaScript のクロスブラウザライブラリ X Library

  http://network.yasu21.net/diary/2005/12/javascript.html

  ブラウザ間の差を吸収した JavaScript ライブラリ.
  ドキュメントもしっかりしている.

- ダウンロード
  http://www.cross-browser.com/toys/

- ドキュメント
  http://www.cross-browser.com/x/lib/view.php

- via: Trivial Tracks
  http://network.yasu21.net/diary/2005/12/javascript.html

Oracle,MySQL,PostgreSQL の性能比較表

- Comparison of Oracle, MySQL and PostgreSQL DBMS
  http://www-css.fnal.gov/dsg/external/freeware/mysql-vs-pgsql.html

  結構細かい点まで比較してある.わかりやすい資料.

ソフトウェア工学とは何か

  http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.htm ...

- What is software engineering
  http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm

  コーディング = 設計

HTML を汚さないロールオーバースクリプト

- ロールオーバーのオブジェクト指向的実装
  http://web.paulownia.jp/script/sample/rollover.html

- prototype.js 版
  http://d.hatena.ne.jp/kazeburo/20051227

  HTML に onmouseover などのイベントハンドラを記述せずに,ロールオーバを実現する.
  CSS の a:hover でも実現できると思う.

TV CM の曲のストリーミング放送 TVCM Music Streaming

  http://www.30th.co.jp/30th_tvcmm/

  ただし,CM 音楽制作会社サーティースとトゥーユーで作られた CM の曲のみ.
  いきなり「年末ジャンボ宝くじ」が流れたので笑った.

Ajax で使えるインジケータ

  http://mentalized.net/activity-indicators/

  indicator indicator indicator

  上記のような Ajax などでローディング中を示すインジケータの画像数点.
  カラーじゃないのが残念だけど,パブリックドメインなので使いやすいかも.

- via: JavaScript++かも日記
  http://jsgt.org/mt/archives/01/000738.html

Ajax を使ったマウスジェスチャ認証

- Using AJAX for Image Passwords
  http://waelchatila.com/2005/09/18/1127075317148.html

  Recode に書いた文字がそのまま認証になる.
  認証するときは,Login にその文字を書く.

  結構精度がいいので,なかなかログインできないときも.

Google Analytics のタグ位置が body の末尾に変更

  http://sonic64.com/2005-12-25.html

  いままで「head 要素内に入れておけ」と指示のあった,Google Analytics のタグ位置が
  body の末尾に変更になった.
  つか,どっちでもいいような気がするので,ここはこのままいってみる.

GNU screen いろいろまとめ。

  http://d.hatena.ne.jp/naoya/20051223/1135351050

  GNU screen のいろいろな TIPS.
  GNU screen はすごく便利なので,使っていない人は使ってみるといいかも.

IME を ON にしたときにキャレットの点滅速度を変える SmartCaret

  http://hp.vector.co.jp/authors/VA026310/soft2.htm

  IME を ON にすると,キャレットの点滅速度が変わり,IME が ON の状態がわかる.
  設定によって,点滅速度を変えることができる.
  あまり,早くしすぎると気持ち悪いことになる.

- via: 窓の杜
  http://www.forest.impress.co.jp/article/2005/12/21/smartcaret.html

Google Homepage にTo Do リストを追加するモジュール

  http://www.googlemodules.com/module/42/

  面白そうなんだけど,メールアドレスとパスワードを送らないと使うことができないみたい.
  むむむ.

  RL ToDoList

- via: ネタフル
  http://netafull.net/archives/011812.html

OK ボタンの位置はどこが適切?

  http://www.phenomena.co.jp/phenomena/uid_lab/ok_btn/

  ダイアログの [ OK ] ボタンの位置はどこにあったらいいのかの調査テスト.
  やってみたけど,迷うのもあった.また,そのインタフェースはいかがなものかと思わせるのもある.
  慣れの問題だと思うけど.

  調査結果は上記サイトで公開されるそう.

- via: ただのにっき
  http://sho.tdiary.net/20051222.html#p01

Google や Yahoo! 風のロゴが作れるページ

  http://nais.to/~yto/clog/2005-12-24-4.html

- Google Logo Maker - グーグル ロゴ作成 - Logogle:
  http://www.logogle.com/ja/

- Yahoo-style Logo Maker - Logo54.com
  http://logo54.com/net/yahoo/

  作ってみた

  pocari.org
  pocari.org

OS を再起動すると元の状態に戻す Microsoft Shared Computer Toolkit for Windows XP

  http://www.microsoft.com/japan/windowsxp/sharedaccess/default.mspx

  これは,学校なんかでは需要がありますね.
  更新プログラムやウイルス対策ソフトのパターンファイルは破棄されないのはとてもいい.

結城浩だけど何か質問ある?

  http://d.hatena.ne.jp/hyuki/20051221#newsoku

  PHP の本を書いたりはしませんよね…

TIGER 水出し& 浄水コーヒーメーカー

  B0009YVB5A
  http://www.amazon.co.jp/o/ASIN/B0009YVB5A/todaysnonsenc-22/ref=nosim/
  ASIN: 4093875995
  6,300 円

  よさげ.実際見てみたけどちょっと大きい.
  水出し以外にも普通にお湯でのドリップもできるみたい.

ドラえもん最終話『のび太くん、宿題は終わったかい!?』

  http://csx.jp/~vaiosqare/doraemon/01.html

  大作.

古い Mac をトイレットペーパー台に

- Give an old Mac new life by turning it into an iWipe
  http://techrepublic.com.com/2300-10877_11-5955727-1.html

  面白いけど,でかくて邪魔になりそう.

ロック機構付きの LAN ケーブル

  http://www.princeton.co.jp/product/network/ptclplg.html

  PTC-LPLG3/PTC-LPLG5

  3m/5m のものが発売.ところで鍵は誰が管理するのどうか.

あの「うまいトリ肉」は作れるらしい

  http://portal.nifty.com/koneta05/12/21/01/

  中華なんかで出る蒸し鶏肉.これを簡単に作る方法.
  炊飯器の「保温」を利用する.
  お湯を沸騰させて,塩を入れて,それと鶏肉を炊飯器に入れて,保温にして 1 時間.これだけ.

ドラえもん短歌

  4093875995
  http://www.amazon.co.jp/o/ASIN/4093875995/todaysnonsenc-22/ref=nosim/
  枡野 浩一 (著)
  小学館
  ISBN: 4093875995
  2005/09
  1,365 円

自転車で君を家まで送ってた
どこでもドアがなくてよかった

軽量 JavaScript ライブラリ MochiKit

  http://mochikit.com/

  screencast を見てみると結構すごい.
  デバッグ機能なんかがいい感じ.

- via: CLON
  http://unknownplace.org/memo/2005/12/18#e001

いろいろなエフェクトをサポートした JavaScript ライブラリ script.aculo.us

  http://script.aculo.us/

  スライダー,ドラッグ・ドロップ,フェードイン・フェードアウト,拡大・縮小などをサポート.

rico.js による「もっと読む」機能の実装

  http://d.hatena.ne.jp/higepon/20050926/1127731823

  rico.js の Effect.Size クラスを利用した「もっと読む」機能の実装.
  これを chalow で画像ポップアップに応用できないかな.

- Rico
  http://openrico.org/

chalow で画像ポップアップ

  http://memo.xight.org/2005-12-17-4

--- chalow-orig    2005-08-21 14:35:31.000000000 +0900
+++ chalow    2005-12-25 10:45:19.224845000 +0900
@@ -1022,7 +1022,7 @@
 sub get_link_str {
     my ($a, $b) = @_;
     if ($a =~ /\.(jpg|jpeg|png|gif)$/i) { # [[http://nais.to/|image/nais.jpg]]
-        return qq(<a href="$b"><img src="$a" alt="画像"></a>);
+        return qq(<img src="$a" alt="クリックして拡大" onclick="popupImage('$b')" /><a href="$b">.</a>);
     } elsif ($b =~ /\.(jpg|jpeg|png|gif)$/i) { # [[自画像|image/sp.jpg]]
        return qq(<img src="$b" alt="$a">);
     } else { # [[トップページ|http://nais.to/]]


PHP で角丸枠 (CSS) を簡単に作る方法

- PhpMyBorder - add round corners by CSS
  http://www.phpmyborder.com/

<?php
require_once 'phpMyBorder2.class.php';
$pmb = new PhpMyBorder();
echo $pmb->begin_round('260px', 'DDDDFF', '78AAFF');
?>

ここに枠内に入れるコンテンツを書く

<?php
echo $pmb->end_round();
?>


  こりゃ便利.

- via: PHPSPOT 開発日誌
  http://phpspot.org/blog/archives/2005/12/phpcss.html

プロバイダ別 ntp サーバリスト

  http://sonic64.com/2004-12-02.html

  大手プロバイダの ntp サーバ一覧.会員のみ利用可能な場合も.

ボリュームコントロール用デスクトップツールバー Volume Deskbar

  Volume Deskbar

  なかなかいいかもしれない.

- via: パソコン遊戯日記
  http://pasokon-yugi.cool.ne.jp/nikki/200512.html#SEVENTEEN

Google Homepage で mixi のマイミク最新日記を見る Portlet

  http://project-p.jp/halt/anubis/blog_show/491

  Google Homepage API を使ったモジュールがどんどん出てくる予感.
  でも,自分では全く使わないなぁ.

- Google Homepage API - Overview
  http://www.google.com/apis/homepage/

JavaScript ハッカーズ・プログラミング Web エキスパートが知っておきたい基本から応用まで

  4896272862
  http://www.amazon.co.jp/o/ASIN/4896272862/todaysnonsenc-22/ref=nosim/
  佐久嶋 ひろみ (著)
  メディアテック出版
  ISBN: 4896272862
  2005/12
  3,024 円

複数枚の写真から一枚のパノラマ写真を作成する Hugin

  http://hugin.sourceforge.net/

  かなりいい感じっぽい.試してみるかな.

- via: 2nd life
  http://d.hatena.ne.jp/secondlife/20051215/1134635385

YAPC::Asia 2006 Tokyo 開催

  http://tokyo.yapcasia.org/blog/ja/2005/12/yapcasia_2006_tokyo.html

  Perl のカンファレンス YAPC (Yet Another Perl Conference) が 2006/03/29-30 に
  東京で開催とのこと.むむむむ,微妙な時期だ…

JavaScript でビルトインオブジェクトハック (Dateクラス編)

  http://memo.xight.org/2005-12-16-1

  激しく便利.

  • 年月日を入力として何日 (か月) 前 (後) の年月日
  • 日付の大小比較
  • 入力された日付が有効かどうか
  • 年月日を入力として ISO-8801 で定義された第何週目にあたるか

  とかあるともっといいなぁとか言ってみるテスト.

PHP で出来たターミナルエミュレーター

  http://phpterm.sourceforge.net/

  PHPTerm

  セキュリティに不安はあるものの,なかなか便利かも.
  Web サーバの権限で動いているので cp したりするには Web サーバの書き込み権限が必要.

- via: PHPSPOT 開発日誌
  http://phpspot.org/blog/archives/2005/12/php_phpterm.html

Visual Studio 2005 Express Edition のダウンロードが開始

  http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

  以前よりアナウンスのあった Visual Studio 2005 Express Edition のダウンロードが開始された.
  とりあえず,落とすだけ落としておいた.

日経 225 銘柄の株価の様子を視覚化した 日経平均 225 銘柄のマップ

  http://n225.jp/

  日経平均 225 銘柄のマップ

  視覚化手法は Shneiderman の Treemap ですね.

- Treemap
  http://www.cs.umd.edu/hcil/treemap/index.shtml

- ref.: Survey : Information Visualization
  http://iv.xight.org/

- via: Going My Way
  http://kengo.preston-net.com/archives/002356.shtml

grep でマッチした箇所に色を付ける方法

% setenv GREP_COLOR "01;34"
% setenv GREP_OPTIONS --color=auto
% echo 'hello world' | grep 'l'
hello world


  ただし,GNU grep 限定っぽい.
  でも,これだけで,GNU grep を入れてもいいと思った.

  また,参照元には -e を複数並べると OR になることや -o を付けるとマッチした箇所のみが表示されることも
  紹介されているが,これもおそらく GNU grep 限定.

- ref.: (ひ)メモ
  http://d.hatena.ne.jp/hirose31/20051215/1134638690

MySQL を利用した ProFTPD のアカウント管理

  http://kikuz0u.x0.com/memo/hiki.cgi?ProFTPD%A1%A1%A1%C1%20MySQL%A4%F2%BB%C ...

  ポイントは configure オプションの

--with-modules=mod_sql:mod_sql_mysql

  なのかな.
  ユーザごとに /etc/passwd を触る必要がないのでいい!

  ProFTPD + MySQL のアカウント管理用のフロントエンドがどこかにありそうな予感.

HTTP ヘッダに含まれる「X-Powered-By」を隠蔽する

  http://kikuz0u.x0.com/memo/hiki.cgi?php%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%B1%F ...

  php.ini に

expose_php = Off

  設定すればよろし.

SSL で GET リクエストを送信する方法

% openssl s_client -quiet -connect ホスト:443

  を実行して,

verify return:0

  が返ってきたら HTTP リクエストを送信.

% openssl s_client -quiet -connect gmail.google.com:443
depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0
GET / HTTP/1.0 (<- 入力する)

HTTP/1.0 302 Found
Location: http://www.google.com
Date: Tue, 20 Dec 2005 00:51:08 GMT
Content-Type: text/html
Server: GFE/1.3
Connection: Close
Content-Length: 151

<HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com">here</A>.
</BODY></HTML>
read:errno=0

- ref.: SSL(443/tcp) で GET / HTTP/1.0
  http://kikuz0u.x0.com/memo/hiki.cgi?SSL%28443%2Ftcp%29%20%A4%C7%20GET%20%2 ...

  上記サイトに載っていたやり方だと 400 Bad Request が返ってくる.

タブを閉じても終了しても「戻る」ことができる Firefox 拡張 How'd I Get Here?

  http://www.squarefree.com/extensions/high/

  How'd I Get Here?

  あれ?リンク元はどこだったかな?とタブを閉じた後に気づいても,もう大丈夫.
  これがあれば,新しく開いたタブでも,さらには Firefox を終了した後でもリンク元を
  たどることができる.

  この拡張をインストールするとツールバーのカスタマイズ画面に「How'd I Get Here?」
  のアイコンが表示されるので,適当なツールバーにおいてあげれば OK.

- via: vimrc diary
  http://vimrc.hp.infoseek.co.jp/diary/2005-12.html#2005-12-15-4

Gmail を IMAP でアクセスできるようにする Perl モジュール GMail::IMAPD

  http://search.cpan.org/~krs/GMail-IMAPD-0.92/lib/GMail/IMAPD.pm

  適当なポートでデーモンとして待ち受けして,IMAP でアクセスできるようにする.

- via: vimrc diary
  http://vimrc.hp.infoseek.co.jp/diary/2005-12.html#2005-12-15-2

lighttpd + FastCGI 上で MT3.2 を動作させる方法

  http://www.drk7.jp/MT/archives/000972.html

  lighttpd + FastCGI + MT3.2 を実現する方法.
  ディスパッテャーが公開されている.

全ての Web 開発者必見 remember the milk のサインアップフォーム

  http://la.ma.la/blog/diary_200512151101.htm

  

  remember the milk というところのサインアップフォームらしいんだけど,よくできている.

- remember the milk
  http://www.rememberthemilk.com/signup/

Gmail をストレージとして使う Firefox 拡張 Gmail File Space

  http://www.rjonna.com/ext/gspace.php

  Gmail File Space

  ユーザインタフェースもまんま FTP クライアントみたいでわかりやすい.
  ただし,HTTPS でなく HTTP で通信しているようなので注意が必要かも.

- via: ネタフル
  http://netafull.net/archives/011688.html

Google モバイル 検索メール

  http://mobile.google.co.jp/km/

  どうも上手い使い方が分からないが.例えばどういうとき検索したくなるのだろうか.

重言のいろいろ

  http://www5a.biglobe.ne.jp/~minnami/link26.html

  重言 (じゅうげん) とは,意味の同一な語句をむだに繰り返す言い方.
  その重言の一覧.

  「いちばん最初」「いちばん最後」「射程距離に入る」とか間違えそうだな.

Google で検索すると We're sorry... が頻発する

  先週くらいから Google で検索すると頻繁に「We're sorry...」と表示され,検索ができない.

  

  ウイルスチェックしろだとかスパイウェアがなんだとか言ってくる.

  ちょっと試してみたところ,わずかこれだけのリクエストでも出る.
  IE だとか Firefox だとかお構い無しに出る.

http://www.google.com/search?q=PHP&num=50

  さらに試してみたところ num=50 を削った以下の場合は全然でない.

http://www.google.com/search?q=PHP

  このエラーが出るときは,決まって Sleipnir の検索窓から検索するとき.
  そこで,Sleipnir のオプションから num=50 を削ってあげた.
  とりあえず,これで解決.

  でも,何でだろう??

  ちなみに,Google の検索結果画面の検索オプションから検索条件を 100 件にしても,
  上記のエラーは出る.100 件どころか 20 件にしても出る.10 件では出ない.

  検索語が 2 バイト文字だと出ない.謎.

  追記: と思ったら全然エラーにならないときもある.まったくもって謎.

家族八景

  4101171017
  http://www.amazon.co.jp/o/ASIN/4101171017/todaysnonsenc-22/ref=nosim/
  筒井 康隆 (著)
  新潮社
  ISBN: 4101171017
  1975/02
  460 円

大統領に知らせますか?

  4102161104
  http://www.amazon.co.jp/o/ASIN/4102161104/todaysnonsenc-22/ref=nosim/
  ジェフリー アーチャー (著), 永井 淳 (翻訳), 永井 淳
  新潮社
  ISBN: 4102161104
  1987/09
  660 円

できる 100ワザ ブログ アフィリエイトも楽しめるアクセスアップの実践テクニック

  4844321951
  http://www.amazon.co.jp/o/ASIN/4844321951/todaysnonsenc-22/ref=nosim/
  田口 和裕 (著), 松永 英明 (著), できるシリーズ編集部 (著)
  インプレス
  ISBN: 4844321951
  2005/12/02
  1,575 円

クロスファイア

- クロスファイア(上)
  4334733700
  http://www.amazon.co.jp/o/ASIN/4334733700/todaysnonsenc-22/ref=nosim/
  宮部 みゆき (著)
  光文社
  ISBN: 4334733700
  2002/09/10
  620 円

- クロスファイア(下)
  4334733719
  http://www.amazon.co.jp/o/ASIN/4334733719/todaysnonsenc-22/ref=nosim/
  宮部 みゆき (著)
  光文社
  ISBN: 4334733719
  2002/09/10
  620 円

  『燔祭』が発展した大作.

鳩笛草 - 燔祭・朽ちてゆくまで

  4334729851
  http://www.amazon.co.jp/o/ASIN/4334729851/todaysnonsenc-22/ref=nosim/
  宮部 みゆき (著)
  光文社
  ISBN: 4334729851
  2000/04
  620 円

Internet Explorer の右クリックメニューからはてなブックマークに登録するスクリプト

<script type="text/javascript">
var p = external.menuArguments;
var url = new String(p.parent.document.URL);
var title = new String(p.parent.document.title);

window.location = 'http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title=' + escape(title) + '&url=' + escape(url);
</script>


  IE MenuExt などを使って登録すると,IE コンポーネントを利用している RSS リーダなどでも
  右クリックからはてなブックマークに登録できる.

- IE MenuExt
  http://www.uryusoft.com/software/IEMenuExt/

タスクバーにローカルにある HTML ファイルを表示する

  http://d.hatena.ne.jp/brazil/20051213/1134397613

  about: に新しい名前を追加することで実現.

さまざまな言語に対応した ソースコード・ハイライトプログラム GeSHi

  http://qbnz.com/highlighter/

  対応言語は C,C++,CSS,Delphi,HTML,Java,JavaScript,MySQL,Perl,PHP (Smarty も),Ruby,XML など
  もう自分が使いそうなものはほとんど.

- via: MOONGIFT
  http://oss.moongift.jp/intro/i-889.html

2 倍くらい高速化した Nessus 3.0.0

  http://www.nessus.org/

  おー,どれくらい早くなったかあとで試してみよう.

- via: SecuDiary
  http://d.hatena.ne.jp/hiro-t/20051213#p1

厚生年金はネズミ講か?

  http://kimuratakeshi.cocolog-nifty.com/blog/2004/03/__3.html

  運用してるか,していないかの違い?

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

無料でデジタル証明書を取得する

  http://www.atmarkit.co.jp/fwin2k/win2ktips/647freeca/freeca01.html

  Thawte Inc. から S/MIME で利用できる無料の証明書 (Personal E-mail Certificates) を
  取得する方法.

  発行者名が

Thawte Freemail Member

  になるが,サブジェクトには設定したメールアドレスがきちんと入る.
  有効期間は発行から 1 年間.

  無料だけど,IE と Firefox では組み込まれていた.

  また,Becky! からは S/MIME プラグインで署名や暗号化が出来た.

- via: にわか鯖管の苦悩日記
  http://kikuz0u.x0.com/td/?date=20051213#p03

CSS Beauty の中の人が選ぶ 2005 年度の CSS テクニック TOP 12

- My Top 12 CSS Articles/Tricks of 2005 (one for each month):
  http://www.cssbeauty.com/skillshare/comments.php?DiscussionID=11&page=1

  あとで,ちゃんとチェック.

オープンソースなソーシャルブックマークシステム Scuttle

  http://sourceforge.net/projects/scuttle/

  del.icio.us からのインポート機能付き.社内で使ってみるかな.
  ライセンスは GPL.

- phpspot 開発日誌
  http://phpspot.org/blog/archives/2005/12/post_21.html

東大坂村教授 世界最多の漢字フォント無償公開

  http://slashdot.jp/article.pl?sid=05/12/12/1542248

  明朝体やゴシック体,楷書体など約 8 万語からなるフォントを無償公開だそう.
  ただし,「ソフト開発会社など」…

  一般人には降りてこないのかな?

JavaScript による Client side Validation を支援するライブラリ Validator

  http://dev.kan.vc/validator/

  Validator クラスを作成すると form の onsbmit イベントや入力フィールドの onclick や onchange イベントが
  自動的に設定されるみたいなので,便利.

  ちょっとソースをよく読んで勉強しなければ.

- via: Sooey
  http://www.sooey.com/journal/2005/12/13/75/

オープンソースな ER 図モデリングツール DBDesigner

  http://www.fabforce.net/dbdesigner4/

  MySQL,SQLite,Oracle,MSSQL,ODBC 接続に対応している.
  リバースエンジニアリング機能で既存の DB の現状把握にも役に立ちそう.
  ライセンスは GPL.

- DBDesigner4 Manual (日本語)
  http://www.aglabo.com/agl/proevo/software/fabforce/

- 実践的データモデリング入門 DB Magazine Selection [Books]:
  4798103853
  http://www.amazon.co.jp/o/ASIN/4798103853/todaysnonsenc-22/ref=nosim/
  真野 正 (著)
  翔泳社
  ISBN: 4798103853
  2003/03
  2,520 円

- データモデリング基礎講座―データベース設計を楽しもう!DB Magazine Selection [Books]:
  4798101109
  http://www.amazon.co.jp/o/ASIN/4798101109/todaysnonsenc-22/ref=nosim/
  根本 和史 (著)
  翔泳社
  ISBN: 4798101109
  2001/11
  2,310 円

Gmail をスパムフィルタとして活用してみる

  http://www.banana21.com/blog/archives/0501070139.html

  スパムメールは転送しないというフィルタは,Has the words: のフィールドに

-in:spam

  つまりスパムではないを追加する.

ファイル名はなくてもいいかもしれない

  http://mojix.org/2005/12/12/223718

  GUI の場合はまだしも CUI の場合はどうするんだろうか.

フリーの高性能音声認識ソフトウェア Julius/Julian

  http://julius.sourceforge.jp/

  音声ファイル -> テキスト変換に使えるのかな?
  あとでじっくり試してみる.

  ライセンスは,BSD ライセンスに近い感じ.

  • バイナリのみの配布を認める
  • 商用ソフトへの組み込み可能
  • 変更部分のソースは公開が望ましいが、非公開でも構わない

ビル・ゲイツの家のトイレは流そうとすると「本当に流しますか?」と警告してくる

  http://satoshi.blogs.com/life/2005/12/post_6.html

  Windows のアプリケーションが何をするにも警告してくることを皮肉ったジョーク.

AsamasiBookSearch - アサマシブックサーチ

  http://booksearch.asamasi.net/

  たつをさんによる Yahoo! JAPAN の Web 検索 API を使用した,串刺し検索.

日本のソーシャルブックマークサービス

  http://d.hatena.ne.jp/fuba/20051212/1134354756

  知らないのもたくさんあった.
  最近やっとはてなブックマークの上手い使い道を習得してきた.

結論 人がいない

動的リンクされた実行ファイルと共有ライブラリを 1 つのファイルにまとめる statifier

  http://statifier.sourceforge.net/

  サポートされているプラットフォームは Linux のみ.
  libnss が必要な場合は LD_PRELOAD すればいいらしい.
  また,iconv が必要な場合も注意.

- via: いやなブログ
  http://namazu.org/~satoru/blog/archives/000089.html

Ajax 実装のための基礎テクニック

  4774125792
  http://www.amazon.co.jp/o/ASIN/4774125792/todaysnonsenc-22/ref=nosim/
  増井 雄一郎 (著), 深津 貴之 (著), 川崎 有亮 (著), 台場 圭一 (著)
  技術評論社
  ISBN: 4774125792
  2006/02/03
  2,394 円

- via: たつをの ChangeLog
  http://nais.to/~yto/clog/2005-12-11-4.html

大量の共有ライブラリをリンクしたプログラムの起動時間を短縮する prelink

  ftp://people.redhat.com/jakub/prelink/ (FTP)

  かなりの高速化が望めそう.

- man prelink 8
  http://linuxcommand.org/man_pages/prelink8.html

- via: いやなブログ
  http://namazu.org/~satoru/blog/archives/000088.html

SSH のポート転送を用いて Samba にアクセスする

  http://datafarm.apgrid.org/software/html/ja/user/smboverssh.html

  どこでも Smaba.

- via: (ひ)メモ
  http://d.hatena.ne.jp/hirose31/20051211/1134289910

Windows Media 9 エンコードスクリプトのフロントエンド AzWM9 Script Frontend

  http://www.forest.impress.co.jp/article/2003/03/11/okiniiri.html

  ちょうど必要になっていた.

Tag がつけられるメモ帳 Web アプリケーション Femo

  http://femo.nomadscafe.jp/

Catalyst + Ajax + TypeKey 認証 + Tagging + はてな記法と話題の技術を使い派手に実装

  とあるように,話題の技術でいっぱい.
  カレンダー機能もあるし,TagCloud 風に Tag の文字の大きさでどのタグが多いかも分かる.

- via: blog.nomadscafe.jp
  http://blog.nomadscafe.jp/archives/000551.html

- 次のキラーアプリは「カレンダー」-「When 2.0」カンファレンス開催
  http://japan.cnet.com/news/media/story/0,2000047715,20092426,00.htm

Google はいかにしてスパムサイトを弾いているか

  http://kotonoha.main.jp/2005/12/09gooleseo.html

  Google の特許出願文章から SEO を考える.

新鮮なよいページを更新し続けるのが最高の SEO

  という短いまとめがすべてを表している.

Mobile Link Discovery 仕様

  http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html

  モバイル版 URL へのリンクをメタデータに埋め込む仕様.

<link rel="alternate" media="handheld" href="..." />


  でいいらしい.でも,ここは携帯・モバイル向けページはもっていないのですね…

- via: たつをの ChangeLog
  http://nais.to/~yto/clog/2005-12-08-1.html

zsh のある暮らし

  http://hiki.ex-machina.jp/zsh/

  どこに移転したのか分からなくなっていたけど判明した.

RSS モジュールを展覧会っぽく演出

  http://d.hatena.ne.jp/tikeda/20051208/1134052386

  はてなフォトライフが吐き出す RSS を美術館の展示風に表示.
  この使い方は面白いかも.

- はてなフォトライフ
  http://f.hatena.ne.jp/

「自信を持って Apache を操るために」スライド公開

  http://module.jp/blog/internet_week_2005T16.html

  Internet Week 2005 で発表された資料.
  とても分かりやすくまとまっている.

デフォルトの httpd.conf は捨てる
highperformance.conf から始める

  知らなかった.

prototype.js でホイールイベントを登録する

  http://d.hatena.ne.jp/secondlife/20051208/1134020332

- mouse wheel event demo
  http://rails2u.com/misc/wheel_event/

  素晴らしい.何かに使いたい.

PHP 5.1 へのアップグレード手順

  http://www.m-takagi.org/docs/php/README_UPGRADE_51.ja.html

- PHP: UPGRADE NOTES - PHP 5.1
  http://www.php.net/README_UPGRADE_51.php

  ぼちぼち触っていかなければ.

英文メールを書くときに便利な表現集

  http://xenakis.hp.infoseek.co.jp/english/mail/exp1.html

  とりあえず.

あちこちに更新 Ping を送ってくれるプロキシ PinGoo!

  http://pingoo.jp/

  これはいい!

http://ping.weblog.ne.jp/

  だけに ping を送っておけば,18 もの ping サーバに送ってくれる.

- via: たつをの ChangeLog
  http://nais.to/~yto/clog/2005-12-07-1.html

在庫数 50 万冊の文庫の専門店 ふるほん文庫やさん

  http://www.bunkoyasan.jp/

  値段は必ずしも安くはないが,絶版品が手に入るのがいい.
  しかも,それを検索して探せて,通販で買える.素晴らしい.

  さらに,北九州の小倉の店舗を構えているらしい!
  50 万冊もある店舗って…以下のサイトにレポートが.

- 本屋のほんね
  http://d.hatena.ne.jp/chakichaki/20051202#p1

会社で使える文例集

  http://www.aimcom.co.jp/newstool/IT21/

  • 社外に向けた外向けの文書
  • 社内で回覧・貼り出し・通知するための文書
  • その他、一般的な用途の文書

  を扱った文例集.

プログラマーのための YAML 入門 (実践編)

  http://jp.rubyist.net/magazine/?0011-YAML

  YAML + Ruby + eRuby で SQL 生成ツールの作成.
  結構強力かも.

ブログ SEO 専用キーワード分析ツール トラックワード

  http://www.trackword.net/

トラックワードをブログに設置すると、あなたのブログの検索キーワードを詳細に分析することができます。

  ということで,設置してみた.

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

Zend Framework の概要についてのプレゼン資料

  http://www.phparch.com/webcasts/recordings/dec0205_zend.php

  10 月末に発表があった Zend Framework のプレゼンか?
  とりあえず,時間のあるときに.

- via: phpspot 開発日誌
  http://phpspot.org/blog/archives/2005/12/zend_framework.html

prototype.js を使った Yellow Fade Technique のサンプル

  http://blog.shebang.jp/archives/50259919.html

  変更があった所を黄色くフェードアウトさせることでユーザの気を引く
  Yellow Fade Technique.

  その Yellow Fade Technique を prototype.js を使って簡単に実現したサンプル.

Essential PHP Security のサポートサイト

  http://phpsecurity.org/

  正誤表とかサンプルコードとか.

- Essential PHP Security
  059600656X
  http://www.amazon.co.jp/o/ASIN/059600656X/todaysnonsenc-22/ref=nosim/
  Chris Shiflett (著)
  Oreilly & Associates Inc
  ISBN: 059600656X
  2005/11
  3,161 円

- via: Sooey
  http://www.sooey.com/journal/2005/12/07/72/

JavaScript で製作したWindows 用タスクバー時計

  http://apollostar.com/prod/taskbarclock/

  Windows タスクバーには,任意の Web ページを表示することができるので,それを利用して
  時計を表示してしまおうというもの.便利っちゃ便利.

  JavaScript で製作したWindows 用タスクバー時計

JavaScript によるオブジェクト指向プログラミング

- JavaScript におけるオブジェクトの基本的性質
  http://codezine.jp/a/article.aspx?aid=220

- JavaScript の関数とメソッド
  http://codezine.jp/a/article.aspx?aid=221

- プロトタイプ (prototype) による JavaScript のオブジェクト指向
  http://codezine.jp/a/article.aspx?aid=222

標準仕様の ECMAScript で扱われる範囲に基づいています

- Under Translation of ECMA-262 3rd Edition (ECMA-262 の邦訳)
  http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/index.html

リファラスパムは pinappleproxy というプロキシを経由してくる?

  最近リファラスパムが多いのでどうにかしようかと情報を集めていた.
  海外のサイトで見つけた情報では,pinappleproxy というプロキシを経由してくるものが多いらしい.
  そこで,とりあえず以下を .htaccess に仕込んでおいた.

RewriteCond %{HTTP:VIA} ^.+pinappleproxy
RewriteRule .* - [L,F]


  また,以下のページには,リファラスパムのドメインがたくさん載ってる.

- pinappleproxy domains
  http://spamhuntress.com/pinappleproxy-domains/

- Zahariev domains
  http://spamhuntress.com/wiki/Zahariev_domains

Google で検索するときストップワードやカタカナの表記ゆれは "+" 符号をつければ検索できる

  Google のヘルプによると,"http",".com" のようなストップワードや
  "ダイヤモンド","ダイアモンド" のようなカタカナ表記のゆれは,検索語の前に "+"
  を付ければ検索できるみたいです.

  試してみる.

検索語         ヒット数
google com     7,390,000
google +com    4,290,000
イーハトーブ     174,000
+イーハトーブ    126,000
+イーハトーヴ     51,500


  なるほどね.確かに.

- Google 基本検索
  http://www.google.com/intl/ja/help/basics.html

gzip/bzip2 の環境変数 GZIP/BZIP2 について検証する

- gzip/bzip2 は環境変数 GZIP/BZIP2 で圧縮レベルのデフォルト値を指定できる
  http://sonic64.com/2005-12-07.html

  の記事を見て,そんな環境変数があったのを知らなかったので検証してみた.

  ファイルは Apache の アクセスログで小さいの (3.8M) があったのでそれを使った.

% ls -la access_log
-rw-r--r--    1 sunaoka  staff     4015160 11月 30 19:26 access_log

  まずは,gzip.デフォルトの圧縮レベルは -6.291059 バイト (284k) まで圧縮できる.

% time gzip access_log
0.56u 0.03s 0:00.56 105.3%
% ls -la access_log*
-rw-r--r--    1 sunaoka  staff      291059 11月 30 19:26 access_log.gz

  次に,環境変数に圧縮レベル -9 を指定して圧縮.262166 バイト (256k) まで圧縮.
  デフォルトに比べて約 90% 圧縮できた.

% time env GZIP=-9 gzip access_log
1.17u 0.01s 0:01.15 102.6%
% ls -la access_log*
-rw-r--r--    1 sunaoka  staff      262166 11月 30 19:26 access_log.gz

  また,bzip2 の場合.174993 (171k) にまで圧縮できる.gzip -9 よりも,66% ほど小さくなる.
  ただし,時間は 7 倍近くかかる.

% time bzip2 access_log
7.31u 0.07s 0:07.41 99.5%
% ls -la access_log*
-rw-r--r--    1 sunaoka  staff      174993 11月 30 19:26 access_log.bz2

  そして,環境変数に圧縮レベル -9 を指定して圧縮.あれ?デフォルトと全然変わらない.

% time env BZIP2=-9 bzip2 access_log
7.30u 0.05s 0:07.33 100.2%
% ls -la access_log*
-rw-r--r--    1 sunaoka  staff      174993 11月 30 19:26 access_log.bz2

  man をみてみると…

--best merely selects the default behaviour.

  --best (-9) はただ単にデフォルトの動作を指定するだけとある.

  そして,

The flags  -1  through  -9  specify the block size to be
100,000 bytes through 900,000 bytes (the default) respectively.

  とのことなので bzip2 は -9 がデフォルトだそうです.

  結論としては,gzip は環境変数 GZIP に -9 を指定してあげるのがよさそう.
  bzip2 は,何もしなくていい.

開いたターミナルのウィンドウごとに背景色、文字色、その他設定を変更する

  http://advweb.seesaa.net/article/10308927.html

  自分の場合は root になった時にだけ,手動で背景色を変えていますね.
  でも,root になることって少なくなったかも (sudo 使うし).

  上記記事では,ターミナルごとに色を変更するスクリプトが公開されている.ただし.

AppleScript を使っているので、Mac OSX  でしか動きません

  だそうです…

Perl の use と require の違い

  http://iandeth.dyndns.org/mt/ian/archives/000592.html

use はコンパイル時に評価される
require は実行時に評価される

  よく知られている通り上記で OK みたい.
  ただ,もう少し細かく具体的に説明されてあります.

Google の 10 個の黄金律

  http://toshio.typepad.com/b3_annex/2005/12/post_1.html

  Google CEO と Google のコンサルタントによる Google:Ten Golden Rule の抄訳.

|Cater to their every need. (必要なものはすべてを供給せよ)

   重要だと思います.

- Google: Ten Golden Rules
  http://www.msnbc.msn.com/id/10296177/site/newsweek/

アジャイルプロトタイピング with Rails

- アジャイルプロトタイピングで上流工程が変わる
  http://www.atmarkit.co.jp/farc/rensai2/proto01/proto01a.html

- Ruby 超入門
  http://www.atmarkit.co.jp/farc/rensai2/proto02/proto02a.html

  いいかげんちゃんと Ruby を覚えなきゃいけない気がしてきた (ような気がする).

入力行に時刻を付けて吐き出すフィルタ

  http://pmakino.jp/tdiary/20051205.html#p01

  なるほど!いいアイディア.でも,出力をファイルにリダイレクトするならば,
  バッファリングしてはいけない予感.

  で自分の趣味的に書き換えたのが,以下.

#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qq(strftime);
$| = 1;
while (defined(my $line = <>)) {
    print strftime('%Y/%m/%d %H:%M:%S ', localtime), $line;
}

$ ping -s localhost | ./puttime.pl > ping-localhost.log

  とかして放置しておくと,

$ cat ping-localhost.log
2005/12/06 21:25:37 PING localhost: 56 data bytes
2005/12/06 21:25:37 64 bytes from localhost (::1): icmp_seq=0. time=0. ms
2005/12/06 21:25:38 64 bytes from localhost (::1): icmp_seq=1. time=0. ms
2005/12/06 21:25:39 64 bytes from localhost (::1): icmp_seq=2. time=0. ms
2005/12/06 21:25:40 64 bytes from localhost (::1): icmp_seq=3. time=0. ms

  ああ,これは便利だ.

Comma-Separated Values (CSV ファイル形式) の RFC

  http://www.rfc-editor.org/rfc/rfc4180.txt

  これを見ると,フィールド内の改行コードは CRLF になっている.

"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx

  ということは,Excel は RFC に違反している.まあいいけど.


- via: たつをの ChangeLog
  http://nais.to/~yto/clog/2005-12-06-2.html

10 分で作る Sledge アプリケーション

  http://b.nipotan.org/

  流行の 10 分で作るシリーズ.
  でもぶっちゃげこれは,タイピングの速さのような気がするが…

XSS (Cross Site Scripting) Cheat sheet

  http://ha.ckers.org/xss.html

  さまざまな XSS の攻撃コードがある.
  これらは全て対応しないとまずいですね.

Web ブラウザだけで Ruby を学ぶ

- try ruby! (in your browser)
  http://tryruby.hobix.com/

  try ruby

  Web ブラウザに irb (Ruby のコマンドプロンプト) が表示されるので,そこで
  実際にコードを打ち込んで Ruby を学習することができる.すばらしい.

  Ajax でサクサク動くのはいいが,なんかスペルミスとかするとたまに動かなくなる.
  そうなると,もう一度初めからやらなくてはいけないのでちょっとうんざりした.

- via: まちゅダイアリー
  http://www.machu.jp/diary/20051203.html

Perl と ImageMagick を使って画像を HTML の table に変換

- ImageMagick で画像を HTML に変換
  http://blog.shebang.jp/archives/50279808.html

  というのをみて,そういえば大分前に似たようなのを作ったので紹介しておこう.

#!/usr/bin/env perl
# tableart - 画像ファイルからテーブルアートを作成

use strict;
use warnings;
use Image::Magick;

my $image = readImage();
my ($width, $height) = $image->Get('width', 'height');

print qq(<table border="0" cellpadding="0" cellspacing="0">\n);    
for (my $h = 0; $h < $height; ++$h) {
    my @colors = ();
    for (my $w = 0; $w < $width; ++$w) {
        my @pixel = split /,/, $image->Get("Pixel[$w, $h]");
        my ($r, $g, $b) = map { sprintf '%02x', ($_ > 0) ? int($_ / 256) : 0; } @pixel;
        push @colors, "#$r$g$b";
    }
    print qq(<tr>\n);
    map { print qq(<td width"1" bgcolor="$_"></td>\n); } @colors;
    print qq(</tr>\n);
}
print qq(</table>);

sub readImage {
    my $image = new Image::Magick;
    if (@ARGV >= 1) {
        # ファイルから画像を読む
        $image->ReadImage($ARGV[0]);
    } else {
        # 標準入力から画像を読む
        $image->ReadImage('-');
    }
    return $image;
}


  大分前に作ったので若干のダサさは残るけど,これでいわゆるテーブルアートを作ることができる.

- テーブルアート(HTML タグ) のページ
  http://hinoki.sakura.ne.jp/~okada/table/

Make を利用した JavaScript ファイルの結合・圧縮

  http://d.hatena.ne.jp/llamerada/20051204/1133674702

  GNU make と JavaScript を圧縮する Java プログラム Dojo's Compressor を用いて
  JavaScript ファイルを結合し圧縮する方法.

SRC = test1.js test2.js
COMB = test.js
COMP = small_test.js
all: $(COMP)
$(COMB): $(SRC)
    cat $(SRC) > $(COMB)
$(COMP): $(COMB)
    java -jar custom_rhino.jar -c $(COMB) > $(COMP)


  なるほど,こういう使い方もあったか.
  圧縮された JavaScript ファイルは,改行を削除しても大丈夫そうだったので
  Makefile の最終行を

java -jar custom_rhino.jar -c $(COMB) | tr -d "\n" > $(COMP)

  としてみた.結果はもちろん OK だった.

- via: Dojo's Compressor
  http://dojotoolkit.org/docs/compressor_system.html

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. ...

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

トラックバック URL が間違っていた件

  なんかトラックバックの送信に失敗するというコメントをもらったので,調べてみたら…
  思いっきり間違っていました.とほほ…
  ちゃんと直しましたです.

  # と思ったけどやっぱり直ってなかっったので,今度こそ修正しました (2005-12-05 23:34)

100 人分のパスワードを生成する Perl ワンライナー

perl -e 'for (1..100) { for (1..8) { print((0..9,a..z,A..Z)[int rand 62])} print "\n" }'

  まあ,これで OK と.
  ただ,パスワードに「0 (ゼロ),1 (イチ),I (大文字のアイ),l (小文字のエル),O (大文字のオー)」
  なんかが含まれているとフォントによっては全然判別できないので,

perl -e 'for (1..100) { $p = ""; for (1..8) { $p .= (0..9,a..z,A..Z)[int rand 62]} $p =~ tr/01IlO/vwxyz/; print "$p\n" }'

  のように,tr で変換してあげた.

Squid による Reverse Proxy 構築

  http://squid.robata.org/ReverseProxy_top.html

  Squid でリバースプロキシを構築する話.
  複数ドメイン/ホストにも対応しているのね.安心.

  複数ドメインに対応するには,

www.example.com 192.168.1.2
www.example.net 192.168.1.2
www.example.org 192.168.1.2

  という風に,一つのマシンに IP を向けて,リバースプロキシの機械の

/etc/hosts

  に

www.example.com 192.168.1.3
www.example.net 192.168.1.4
www.example.org 192.168.1.5

  なんて風にしてあげればいい.

Apache 2.2.0 on FreeBSD 5.4 で Failed to enable the 'httpready' Accept Filter

  FreeBSD なサーバに Apache 2.2.0 を入れてみたら

# /usr/local/apache2/bin/apachectl start
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

  なんて,警告が出る.

  調べてみたら,accf_http という FreeBSD のカーネルモジュールが無いということらしい.
  このモジュールをロードするには

# kldload accf_http.ko

  でいいらしい.確かに警告は出なくなった.

  これを,本体に組み込んでしまうにはどうすればいいのだろうか.

ProFTPD で NLST が使えるようにするパッチ

  http://www.hayasoft.com/haya/linux/proftpd_nlst_patch.html

  ProFTPD では NLST がいつのころからか使えなくなったらしい.
  FFFTP を使っているとファイル一覧の取得が出来ないので困る.
  上記パッチを当てれば OK.

  FreeBSD の ports 場合は,上記パッチを

/usr/ports/ftp/proftpd/files/patch-module::mod_ls.c

  なんて風において,

# make install

  で OK.

それはまた別の話

  4163534008
  http://www.amazon.co.jp/o/ASIN/4163534008/todaysnonsenc-22/ref=nosim/
  三谷 幸喜 (著), 和田 誠 (著)
  文藝春秋
  ISBN: 4163534008
  1997/10
  1,700 円

王様のレストラン DVD-BOX

  B0000A3WPG
  http://www.amazon.co.jp/o/ASIN/B0000A3WPG/todaysnonsenc-22/ref=nosim/
  ASIN: B0000A3WPG
  20,790 円

どくとるマンボウ青春記

  410113152X
  http://www.amazon.co.jp/o/ASIN/410113152X/todaysnonsenc-22/ref=nosim/
  北 杜夫 (著)
  新潮社
  ISBN: 410113152X
  2000/09
  540 円

- どくとるマンボウ航海記新潮文庫
  4101131031
  http://www.amazon.co.jp/o/ASIN/4101131031/todaysnonsenc-22/ref=nosim/
  北 杜夫 (著)
  新潮社
  ISBN: 4101131031
  1965/02
  420 円

FreeBSD ビギナーズバイブル

  4839918945
  http://www.amazon.co.jp/o/ASIN/4839918945/todaysnonsenc-22/ref=nosim/
  後藤 大地 (著)
  毎日コミュニケーションズ
  ISBN: 4839918945
  2005/09
  4,738 円

Firefox 拡張 copyurlplus のメモ

  http://www.plant4.co.uk/?itemid=80

  右クリックから現在見ているページの URL,タイトルなどをコピーする拡張.
  そのカスタマイズ方法.

  user.js でカスタマイズ可能.とりあえず,以下のようにカスタマイズ.
  完全に ChangeLog メモ用.

user_pref('copyurlplus.menus.1.label', 'タイトルと URL のコピー (via:)');
user_pref('copyurlplus.menus.1.copy', '- via: %TITLE%\n(タブ)  %URL%');
user_pref('copyurlplus.menus.2.label', 'タイトルと URL のコピー (ヘッダ)');
user_pref('copyurlplus.menus.2.copy', '%TITLE%:\n(タブ)  %URL%\n(タブ)\n(タブ)  ');


  注 1: (タブ) は実際はタブ文字.
  注 2: user.js の文字コードは UTF-8

  copyurlplus

- copyurlplus
  http://copyurlplus.mozdev.org/index.html

Yahoo! JAPAN API を利用した自動絵日記システム YeNikki

  http://nais.to/~yto/doc/tech/yjapi/

  たつをさんによる.
  入力された文章を形態素解析して,特徴的なキーワードを抽出して
  Yahoo! JAPAN API (画像検索Webサービス) で検索して表示.

  「何度やってもしっくりくる画像が出ないのは仕様」だそうです.

どうして日本では生卵を食べても問題ないのか

  http://zunda.freeshell.org/d/20051130.html#p03

- 生ムギ生ゴメ生タマゴ
  http://d.neverland.to/toshi/?date=20051201#p04

  確かに「生卵は食べちゃダメ!」って言われるけど,全然気にせずに 2 年くらい食べてるけど,
  一度もサルモネラ食中毒なんぞかかったことないな.
  単に,お腹が丈夫だけなのかな?

Firefox で開いているタブを Expose する拡張 Viamatic foXpose

  https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&id= ...

  Firefox で開いているタブを Mac OS X の Expose みたいにする拡張機能.

  Viamatic foXpose

- Mac OS X - Expose
  http://www.apple.com/jp/macosx/features/expose/

- via: Lucky bag::blog
  http://www.lucky-bag.com/archives/2005/12/foxpose.html

たばこ価格の国際比較

  http://www2.ttcn.ne.jp/~honkawa/4740.html

  ルクセンブルグはこんなに安くないけど…

- via: お笑いパソコン日誌
  http://www2s.biglobe.ne.jp/~chic/pilot.html

Firefox をインストールしたらまず行う設定 Ver.1.5

  http://audiofan.net/archives/2005/11/firefox_ver15.php

  バージョン 1.5 対応.

  • 最小フォントサイズを 12 ポイントに設定する
  • JavaScriptを有効にするが,一部の機能は使わせない
  • QuickTime Movie や PDF をブラウザ内で表示しないようにする
  • 新しいウィンドウはタブとして開く

  などは,参考になる.

- via: (ひ)メモ
  http://d.hatena.ne.jp/hirose31/20051202/1133491581

WindowsXP を WindowsVista 風に変えてしまう Universal Vista Inspirat Brico Pack

  http://crystalxp.zerackiel.net/bricopack-vista-inspirat.php

  そもそも,XP は使っていないんですがね.

Skype 2.0 の Video 機能はかなりヤバイ

  Skype 2.0 ベータが公開されて,最大の目玉はもちろん SkypeVideo だろう.

  世界最速ファーストレビューとはいかないけど,試してみた.
  接続したのは,ルクセンブルグ - 東京間.

  ルクセンブルグは回線が細くて,提供されている最高速度が 3M.
  これまで,満足できるものは,MSN Messenger のビデオチャットしかなかった.
  でも,Skype + MSN Messenger では,非力な我が家のマシンでは結構辛い.

  結果からいうと,かなりヤバイ.画質が良い上にコマ落ちが少ない.CPU はさすがに食うけど,
  これまでで一番満足のいく感じ.

  とりあえず,Skype 一本化でいける.

  SkypeVideo

  画像では,Skype のウィンドウの中にビデオ画面があるが,「ビデオウィンドウ」を選択することで,
  ビデオ画面を切り離すことも可能.試しに,全画面表示とかやってみたけど問題なし.

  希望があるとすれば,「常に手前に表示」が欲しいところ.

  また,SkypeVideo の映像をキャプチャしてAVIで保存するソフトウエア Capture for Skype も公開されていて
  これで,録画もできる.

  Skype 2.0 は期待していいと思う.

- Skype 2.0
  http://www.skype.com/products/skype/windows/downloading_beta.html

- Capture for Skype
  http://ikejisoft.com/?Skype%A4%E4%A4%ED%A4%A6%A4%BC%2F%A5%D3%A5%C7%A5%AA%A ...

- ref.: Skype2.0 ファーストレビュー
  http://ikejisoft.com/?%BF%EC%B5%AD%2F2005-12-01%2FSkype2.0%A5%D5%A5%A1%A1% ...

Skype で VNC というのはないのだろうか

  Skype 1.4 で実装された A2A (App2App, Application to Application) API を使った
  VNC というのがそろそろ出てきてもいい気がするんだけど,全然その気配がない.

  ちょっと調べてみても情報がないということは,誰も作っていないのかな.
  とりあえず,以下でなんか議論されかけてたみたい.

- Suggestion: Desktop VNC-type thing
  http://forum.skype.com/viewtopic.php?t=34366&highlight=vnc

Web 2.0 時代の クロスブラウザでクロスプラットフォームなページの開発方法

  これまで,DHTML を開発するときには,ブラウザの判別を行うのが一般的でした.

if (navigator.appName == "Netscape")
if (navigator.appName == "Microsoft Internet Explorer")


  だとか,こういうやつです.

  でも,これからは「オブジェクト検出」で判別しましょうというお話.

if (document.getElementById)
if (document.all)
if (document.layers)


  辺りで,判別しておけばよさそう.

  また,

document.layers


  の場合は,style プロパティを持たないので注意.

- ref.: あなたのウェブページでウェブ標準を
  http://www.mozilla-japan.org/docs/web-developer/upgrade_2.html

- ref.: ブラウザ判別とオブジェクト検出
  http://www.mozilla.gr.jp/standards/webtips1004.html

Yahoo! JAPAN が API を公開

  http://developer.yahoo.co.jp/search/

  • ウェブ検索
  • 画像検索
  • 動画検索

  が可能.時間のあるときにでも試してみますか.

高橋メソッドマシーン

  http://lab.ajibit.com/pukiwiki.php?Flash%2F%B9%E2%B6%B6%A5%E1%A5%BD%A5%C3% ...

  高橋メソッドを FLASH で超簡単に作成できる.
  これは,結構すごい.

- via: 結城浩の日記
  http://www.hyuki.com/d/200511.html#i20051126214736

- 高橋メソッドBBS (高橋メソッド.com ですか…)
  http://takahashimethod.com/

Selenium で Ajax アプリケーションをテスト

  http://www.sooey.com/journal/2005/12/01/68/

  Selenium の waitForValue と waitForCondition で Ajax のテストができるらしいというお話.

- ref.:
  [2005-11-24-2] Selenium ver.0.5 勝手にまとめサイト
  [2005-05-27-2] Web アプリケーションテストツール selenium

StringBuilder と += による文字列連結の速度比較

  http://sonic64.com/2005-11-30.html

  C# で string 型を += で連結するのと StringBuilder を使うのではどれくらい速度に差が出るか.
  結果は,StringBuilder の方がはるかに早い.

  STL の string の += と append() ではどうなんだろうか.