2009/10/30

Wishing you a day as special as you are...

Happy Birthday to Someone Special!
You were perfect the day I met you, but you just get better every year!!

2009/10/29

久々の架空請求

先ほど携帯電話のメイルアドレスに届いたメイル
そもそも docomo の携帯アドレスから届く時点で信憑性は皆無。

From: p.s.l.XX@docomo.ne.jp
Subject: 無題





(株)パーソナル
担当の尾田
と申します。

今回《有料サイト》様で発生しています料金の件でご連絡差し上げました。

弊社調査会社になりましてお客様のお使いの携帯端末に対し【身辺調査】の依頼を承りました。
誠に遺憾ではございますが、明日までにご連絡なき場合は

法的書類を準備作成の上、即刻法的手続の開始の手続きに入らせて頂きます。

       ※メールでのお問い合わせは一切受け付けておりません。
          未払い金のお支払いの手続きや退会処理の手続きをご希望の方は 、
(株)パーソナル
03-3837-67XX
担当 尾田
までお願いいたします。

営業時間 [平日]
午前10:00〜午後19:00
(日・祝日を除く)

文面はほんのちょっとだけ進歩のあとが見られるが、 まだまだ小学校高学年程度の日本語。
「弊社調査会社になりまして」とか意味が通じてないし、 一生懸命背伸びして「遺憾」なんて言葉を使おうとしている努力は認めるが、 「誠に遺憾ではございますが、明日までに…」という文脈だと 何に対して「遺憾」なのか不明瞭になってしまう。
もしかして色々な意味で日本語の不自由な方々が文章を作成しているのか?

ためしに電話番号で検索してみた所、すでに詐欺メイルとして晒されていた。
今回もちゃんと社会参加しました。

2009/10/26

湯豆腐

寒くなってきたのでそろそろ湯豆腐の季節。
週末にさっそく湯豆腐を楽しんだのだが、 ふと気になってネットで検索してみると 一口に湯豆腐と言っても様々な調理法があって驚く。

湯豆腐とは昆布だしの中にシンプルに豆腐と長ネギだけを入れ、それを醤油、 みりん、鰹だしで作った付けだれにつけて食べるものだと思っていたのだが、 どうやら世間では違うらしく、 鱈や春菊、果ては白滝などを一緒に鍋にいれる食べ方や、 つけだれではなくポン酢で食べる食べ方など色々とあるらしい。

個人的にはそんなのは寄せ鍋であって湯豆腐なんかじゃないって思うのだが…

2009/10/23

Snow Leopard On VAIO type P

VAIO type P で Snow Leopard が動作するという夢を見た。

VAIO type P に USB メモリーを挿入して F11 を押しながら電源を入れると、 Snow Leopard が起動した夢を見た。
type P の Bluetooth や無線 LAN が使えるのは勿論、 Fn + F2/F3/F4 による音量調整や Fn + F5/F6 による輝度調整も出来ている。

夢の中では

  • Chameleon-2.0-RC3-r658-bin.tar.gz
  • vaiop20091014us.tar.bz2
  • Kext Helper b7
といったファイル、勿論 Snow Leopard の DVD と Intel Mac、 インストール先として 10GB 以上の USB メモリーが必要だったみたい。

とても素敵な夢だったので検索してみると、 どうやら同じ夢を見ている人が結構いるようで嬉しい限りだ。

あくまでも昨夜見た夢のお話です
夢の中での作業だったので詳しくは覚えていませんので、 問い合わせされてもちゃんとお答えできないでしょう。

2009/10/18

BIOS update

先日 VAIO type P の BIOS アップデータが公開されたので早速導入してみた。
今回の目玉は CPU の持つ Vitual Thread 機能を有効にできる事。
この機能は何故か今まで BIOS で無意味に無効にされていた(何故なんだ?)。
Vitural Thread 機能を有効にすると Windows 7 で Windows Xp モードが利用できる様になるので、 Windows 7 を導入予定の場合にはある意味必須とも言える機能だろう。

まぁ、Windows Xp 化して利用しているので Vitual Thread が無効でもあまり意味はないのだが…

2009/10/17

家族写真

今年も誕生日の記念に家族写真を撮影した。
撮影したのも去年と同じ写真館。

去年同様シチュエイションを変えながら結構な枚数を撮影したのだが、 結局今年もたくさんの写真を注文してしまった…
やはり、どの写真も良く見えてしまい選べない。

今年も予算を大幅に上回ってしまった。
去年から全く進歩していないのは親の方なんですね(苦笑)。

2009/10/16

php からのディスクアクセス

php だという時点で既にアレなんだが…

php からディレクトリにある全ファイルの一覧を取得する処理のパフォーマンスを exec()popen()opendir() を利用した処理で比較してみる。

方法は単純にテスト用のディレクトリに 500 ファイルを用意して、 それぞれの関数を使用してファイル名一覧を取得する処理を 10 回実行した場合の処理速度を計測する。

exec("ls -1") 0.774762
popen("ls -1") 0.865914
opendir() 0.136642

外部 shell を実行しないので opendir() が早いだろうとは予想していたが、 これほど差が出るとは思わなかった。
パフォーマンスを優先する場合は勿論だが、 余計なプロセスを生成しないので opendir() が地球に優しい様だ。

  1<?
  2
  3    $func = array("byexec", "bypopen", "byopendir");
  4
  5    for($i=0; $i<3; $i++){
  6        $dist = array();
  7        $start[$i] = gett();
  8        for($j=0; $j<100; $j++)
  9            $dist[$j] = $func[$i]("/tmp/test");
 10        $end[$i] = gett();
 11
 12        printf("%-10s:%f\n", $func[$i], $end[$i] - $start[$i]);
 13    }
 14
 15    function    byexec($dir)
 16    {
 17
 18        exec("ls -1 $dir", $output);
 19
 20        return($output);
 21
 22    }
 23
 24    function    bypopen($dir)
 25    {
 26
 27        if(($fp = popen("ls -1 $dir", "r"))){
 28            while($buf = fgets($fp))
 29                $output[] = trim($buf);
 30            pclose($fp);
 31
 32        }
 33
 34        return($output);
 35
 36    }
 37
 38    function    byopendir($dir)
 39    {
 40
 41        if($dir = dir($dir)){
 42            while($file = $dir->read())
 43                $outout[] = trim($file);
 44            $dir->close();
 45        }
 46
 47    }
 48
 49    function    gett()
 50    {
 51
 52        $t = gettimeofday();
 53        return((float)($t['sec'] + $t['usec'] / 1000000.0));
 54
 55    }
 56
 57?>
    

ついでにシェルの glob なパターン指定を利用して 指定した文字列にマッチするファイル名の一覧取得を行う場合のテストもしてみた。

20090219000 から 20090219499 までの500個のファイルの中から、 200902192?? にマッチするファイル名の一覧取得で時間を計測してみる。

exec("ls -1 200902192??") 0.883770
popen("ls -1 200902192??") 0.902392
opendir()→preg_match("/200902192../") 0.188792
glob("/200902192../") 0.203928

exec()popen() が遅いのは相変わらずだが、 preg_match()の呼出しが意外に早かったのが驚き。
正規表現のマッチ処理って基本的に相当時間がかかる筈なんだが…
glob() はファイルシステムに自分でアクセスしてる様なので早い。
複雑なパターン指定が必要ならpreg_match()の方が柔軟だが、 シェルに渡せる程度のパターン指定なら glob() を利用するのが 可読性やメンテナンス性と性能が両立できて良いのかも?

2009/10/15

Forty Licks

発売当初、購入しようとして購入できなかったのだが、 初回盤で限定のオリジナルステッカーも付いた状態という、 程度の良い中古 CD を入手する事ができた。

Image: FortyLicks.jpg

The Rolling Stones は我々の世代にとっては、 やはり特別なアーティストの一人だと思う。

2009/10/14

Instant Mode の Firefox

Instant Mode で起動される Firefox は何故か無意味に機能制限されおり、 非常に使い勝手が悪いのでフル機能の Firefox に入れ換える。

作業は linux 用の firefox-3.0.8 バイナリを取得して展開し、 アーカイブ中に含まれる firefox/firefox スクリプト中の "moz_libdir" の定義を "/usr/lib/firefox-3.0.8" から "/usr/local/lib/firefox-3.0.8" に変更するだけである。
ここではデュアルブートの ubuntu linux を起動して作業しているので、 Windows パーティションは "/media/Windows" にマウントされているが、 例えば Windows 上から参照できる "C:\InstantON\browser" ファイルを 稼働中の Linux 環境にコピーして作業する等、 それ以外の環境で作業する事も勿論可能である。
なお、デバイス名称やディレクトリ名は環境により異なる可能性があり、 マウントポイントはあらかじめ準備する必要があるので、 適宜自分の環境に合わせてコマンドを実行する必要がある。
デバイス名称やディレクトリ名、マウントポイントなどの言葉の意味が 判らない場合は実行しない方が良いと思う。

# mount -o loop /media/Windows/InstantON/browser /opt/browser
# wget -q -O - "http://download.mozilla.org/?product=firefox-3.0.8&os=linux&lang=en-US" | tar -C /opt/browser -jxf - 
# cat << EOF | ex -s /opt/browser/firefox/firefox
> /^moz_libdir=/ s!=.*!=/usr/local/lib/firefox-3.0.8!
> w!
> EOF
# umount /opt/browser

これで Instant Mode を起動するとフル機能の Firefox が利用可能となり、 普段利用している様々なアドオンなどが動作する。


Copyright © Mitzyuki IMAIZUMI 2008,2009. All rights reserved.