Archive for February, 2007

CLIなPHPでSTDERRはob_startで制御できない?

Feb 22 2007 Published by funaki under いじる

CLI版のPHPで

fwrite(STDERR, $error_message);

のようなコードを書いていて、出力制御したくなったもののob_start()では標準出力しか制御できないらしい。。うーん。
標準出力、といっても

fwrite(STDOUT, $error_message);

echo $error_message;

は別物らしく、前者はSTDERRと同様に制御できなかったのでfwriteがダメなのかな?

PHP5.1.6

3 responses so far

GoogleNewsが一瞬バグっていた

Feb 20 2007 Published by funaki under 感動する

珍しい。

googlenews_bug.png

No responses yet

検索エンジン経由のアクセス時はGoogle Ajax Searchでサイト内検索した結果を表示

Feb 15 2007 Published by funaki under つくる

調べれば誰かやっていそうな小ネタですが。

検索エンジンからアクセスしてきたときに、そのときの検索語でサイト内検索しておいて結果を表示すると便利っぽいのでやってみた。このブログのサイト内検索に使っている、GoogleAjaxSearchにちょっとコードを追加。

function load()
{
    var searchControl = new GSearchControl();

    var blogSearch = new GwebSearch();
..snip..
    searchControl.draw(document.getElementById("searchcontrol"));
    var query = '<?=my_get_referer_query()?>';
    if (query != '') {
        searchControl.execute(query);
    }
}

JavaScriptで完結させたいところですが、文字コードの変換は面倒なのでリファラーから検索語を拾う箇所はPHPで。

function my_get_referer_query()
{
    $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
    if ($referer == '') {
        return '';
    }
    $p = @parse_url($referer);
    if ($p === false || !isset($p['host']) || !isset($p['query']) || $p['host'] == $_SERVER['HTTP_HOST']) {
        return;
    }
    if (strpos($p['host'], 'google.') !== false || strpos($p['host'], 'msn.') !== false) {
        $key = 'q';
    } else if (strpos($p['host'], 'yahoo.') !== false) {
        $key = 'p';
    } else if (strpos($p['host'], 'goo.') !== false) {
        $key = 'MT';
    } else if (strpos($p['host'], 'excite.') !== false) {
        $key = 'search';
    } else if (strpos($p['host'], 'nifty.') !== false) {
        $key = 'Text';
    } else if (strpos($p['host'], 'infoseek.') !== false) {
        $key = 'qt';
    } else if (strpos($p['host'], 'aol.com') !== false) {
        $key = 'query';
    } else {
        $key = 'q';
    }
    parse_str($p['query'], $param);
    $query = isset($param[$key]) ? $param[$key] : '';
    return htmlspecialchars(mb_convert_encoding(urldecode($query), 'UTF-8', 'auto'), ENT_QUOTES);
}

レイアウト的にサイト内検索の位置が一番下なのがいまいち。。検索エンジン経由のときは横にあった方が見やすいかも。

One response so far

かな漢字変換の確定をキャンセルできるとは!

Feb 13 2007 Published by funaki under 感動する

FPN-かな漢字変換の確定を取り消す技 [Ctrl]+[Backspace]

知らなかった!
VistaのIMEでは動きました。

追記:
WindowsXPでも動きました。

2 responses so far

私儀、2007年2月より独立しました

Feb 09 2007 Published by funaki under 感動する

創業から31ヶ月、参画したレッドクルーズを離れました。

せっかく開いたパラシュートを脱いで、再び、開くかわからないパラシュートを背負って飛び降りてみました。背中にあるのはただの空箱かもしれませんが、ジェットエンジンになるんだと信じてこれから新しいモノをつくろうと思います。

ソフトウェアにおいては、やればできるということが多すぎ、事実なんでもやろうと思うことはできるという性格をもっている。そのためプログラムとして何か作っておれば研究をしている、仕事をしている、と考えがちであるが、それはしばしば大きな誤りである。
いかにうまくやるか、いかに美しくやるか、本当にやるべきことは何か、やって意味のあることは何か、を常に考えながら物事を進めてゆくことが、ソフトウェアのような何んでもやれる世界においてはとくに大切である。人工知能、知識と推論のような、枠組のはっきりしない、どろどろとした世界においては、とくにそういったことに注意が必要であろう。

「知識と推論」学習の手引きより(長尾 真)

One response so far

「ホリデープログラミング入門」と題してブログを書きます

Feb 02 2007 Published by funaki under 感動する

Yahoo!ブログ – ホリデープログラミング入門

Yahoo!デベロッパーネットワークのブログの1つとしてブログを書かせていただくことになりました!

自分でつくったサービスを誰かに使ってもらうのは本当に面白い。そのためのプログラミングを技術系じゃない人にも実践してもらえるよう、自分自身まだまだひよっこですが、丁寧に書いていこうと思っています。

よろしくお願いします。

One response so far