日記

RSS 2.0
My Yahoo!に追加


2006年
7月 8月 9月 10月 11月 12月


古い部屋
実験室
その他の部屋へ

用例検索(Yahoo! API)[PHP版]


文 字 種:和文 欧文
結果数上限:40 100


用例検索(Yahoo! API)[Ruby版]


(欧文のみ)


青空文庫全文KWIC検索

*DVD-ROM版青空文庫収録の
4843個のファイルを検索します。



2004年3月6日〜
2007年9月24日(月)別の場所で再開した日

 日々の記録はTOLLE ET LEGE 屋根裏の備忘録に移動しました。自宅サーバの方が使いやすいので。こちらはいづれ項目別にまとめなおした記録を置くように整理しようかと思っています。いつのことになるか判りませんが。

2007年1月30日(火)Mewに馴染み始めた日

【Mew】

inbox-folder

 Mewには少しずつなれてきた。複数のメールアドレスを使うときの切り替えに戸惑ったが、何となく判ってきた。メールフォルダを作ってメールを整理する方法も覚えたし、アドレス帳の作り方も覚えた。その辺のことは、下に示した本を参考にした。もちろん、オンラインで得た情報で補っている。4年前の本なので、少し古い部分もあるのだ。

 なかなか気づかなかったのが、inbox-folderの$indexと+indexの関係である。$indexはPOP3の新着メールが収納されるところ。POPでメールを受信するときは$indexを使えと書いてある。最初はそうしたのだが、そこでメールを削除するとメールはサーバ上から消えてしまい、別のところから新着メールを取りに行くと、もうそれは消えてしまっている。まあ、不要なものだからいいような気もするけれど、どこから何回受信しても一通り新着メールをダウンロードしておきたいのだ。さっきはうっかり消してしまったけれども二度目には気がついたということもある。+indexというフォルダへ入ってから、新着メールを受信すれば、POPサーバから自分のパソコンへとメールが保存される。もちろん、そこで不要メールを削除しても、サーバ上のメールには変化はない。そんなことどこにも書いてないじゃないか。書いてあるけれど私が理解できなかっただけなのか。私にも判るように書いていだたきたい!

 そうだ、新着メールの取得にはコントロールキーは使いませんでした。

_ Amazon.co.jp
図解でおぼえるMew+αの使い方
翔泳社 (2002/02)
¥ 2,940 (税込)
在庫あり
Tue, 30 Jan 2007 13:13:21 GMT

2007年1月28日(日)Rubyのことを思い出した日

【Emacs練習帳】

Mew設定(ubuntu/MacOSX共通)

 私が主に使うメールアドレスは二つある。一つは勤務先のもの、もう一つは.Macである。前者はPOP3、後者はIMAP4でメールを取得することになる。二つに対応させるにはどうしたらいいのかなかなか判らなかった。とりあえず、こんな設定で動くようになった。

(setq mew-use-cached-passwd t)
(setq mew-passwd-timer-unit 60)

(setq mew-config-alist
    '(("default"
        ("name"         . "Yyy Zzz")
        ("proto"        . "$")
        ("user"         . "user")
        ("mail-domain"  . "oooo-u.ac.jp")
        ("pop-auth"     . pass)
        ("pop-user"     . "user")
        ("pop-server"   . "pop.oooo-u.ac.jp")
        ("pop-delete"   . nil)
        ("smtp-user"    . "XXX111111")
        ("smtp-server"  . "smtp.nifty.com"))
    ("mac"
        ("proto"        . "%")
        ("inbox-folder" . "%inbox")
        ("name"         . "Yyy Zzz")
        ("user"         . "apple_id")
        ("imap-user"    . "apple_id")
        ("mail-domain"  . "mac.com")
        ("imap-server"  . "mail.mac.com")
        ("imap-auth"    . nil)
        ("imap-delete"  . nil)
        ("imap-trash-folder"    . "%Trash")
        ("imap-header-only"     . nil)
        ("smtp-server"  . "smtp.mac.com")
        ("smtp-user"    . "apple_id"))))
 上の二行はパスワードを何度も入力しなくていいようにする設定だとか。勤務先のsmtpサーバは外からメールを送るのには使えないので、送信時にはsmtp.nifty.comを利用している。もちろん職場ではここはnifty.comではない。これをShift Cで切り替えて使ふ。POP3はCtrl-iで、IMAP4はCtrl-sで新着メールを取得する。この設定で送信もできた。安心して喜んで、今はAppleMailを主に使っていることは秘密だ。

【Emacs練習帳】

Lookup設定(ubuntu/MacOSX共通)

 今度は辞書をコマンドラインで使う設定である。EBライブラリ4.3eblook-1.6.1Lookup 1.4をダウンロードしてきて、インストール。どれも、configure→make→sudo make installでインストールできた(ubuntuはSynapticで)。
 eblookをインストールすれば、これだけでコマンドラインで辞書がひける。が、あまり使いやすくないような気がする。やはりLookupを利用しよう。実はLookupはndtpd経由で辞書をひくものだと思い込んでいたのだが、eblookを検索エージェントにすることもできるのだった。その設定を.lookupに書く。

(setq lookup-search-agents '((ndeb "/Users/yyzzz/dictionaries/Kenkyusha_Readers_Plus_V2")
                             (ndeb "/Users/yyzzz/dictionaries/DAIJIRIN_OASYS_1992_VERSION")))
 こんな感じで、使いたい辞書をどんどん登録しておけばいいのだと思う。.emacs.elには、
 ;; オートロードの設定
 (autoload 'lookup "lookup" nil t)
 (autoload 'lookup-region "lookup" nil t)
 (autoload 'lookup-pattern "lookup" nil t) 
 ;; キーバインドの設定
 (define-key ctl-x-map "l" 'lookup)              ; C-x l - lookup
 (define-key ctl-x-map "y" 'lookup-region)       ; C-x y - lookup
 (define-key ctl-x-map "\C-y" 'lookup-pattern)   ; C-x C-y - look
と書き込んだ。lookupで立ち上げるのはいいのだが、検索する度にlookup-patternと打つのは面倒くさいが、このキーバインド設定で楽になるはずだ。

【Ruby】

MacOSXでirbエラーが

 このところ一時期ほど親しい間柄でなくなっているRubyだが、下記のような本を買ったのを機会にirbを使ってまた少し仲良くしようと思ったところ、こんなエラーが出た。

 $ irb
 dyld: NSLinkModule() error
 dyld: Symbol not found: _rl_filename_completion_function
   Referenced from: /usr/local/lib/ruby/1.8/powerpc-darwin8.4.0/readline.bundle
   Expected in: flat namespace
 検索してみるとreadlineの新しいのをインストールしなければならないらしい。readline 5.2をダウンロードしてインストール。configure→make→sudo make installで、何かエラーだか警告が出ていたようだが、私には判らない。
 それでもirbは動かない。そこで、rubyを再インストール。最新版をダウンロードして
 ./configure --prefix=/usr --with-readline-dir=/usr/local
 make
 sudo make install
 
というようにしてみた。無事irbが動くようになった。

_ Amazon.co.jp
Everyday Scripting with Ruby
Pragmatic Bookshelf (2007/1/15)
¥ 3,241 (税込)
通常3~5週間以内に発送
Sun, 28 Jan 2007 08:13:50 GMT

2007年1月27日(土)Emacs再挑戦を始めた日

【Emacs練習帳】

ubuntuでの設定

 久しぶりの更新です。あれからいろいろ考えました。そして、Emacsを一つちゃんと使えるようになろうと決心しました。本当はいろいろ考えたという訳でもなく、肩が痛いから、マウスを極力使わずに生活したいと思ったから。私は実はマウスが苦手です。特にダブルクリックが。右手は何年も前に手の甲から肘にかけて激痛が走るようになり、マウスを左手に持ち替えて使うようになった。その後トラックボールになっても左手のままで、まあまあうまくやってきたものの、キーボードからいちいちトラックボールに手を伸ばすという動きがなくなったら、躰が安定してもっと肩が楽になるんじゃないだろうかと思った訳です。左腕の肘のあたりが痛くなったりしたからなのだが、右の肘も痛くなるので、実は関係ないのかも知れない。とにかくそうしようと決めたので、極力キーボードのみで生きていくことにします。
 となったらEmacsである。vimには少しずつ馴染んできていたところなのだけど、この際、Emacsである。昔からできる奴はEmacsという感じがするではないか、何となく。

 という訳で、まずはubuntuでEmacsをインストール。Synapticで莫迦でもインストールできるようになっているので、とりあえずemacs21,emacs21-el,anthy-el,mule-ucsを入れる。しかし、そのままでは日本語入力ができない。そこで、

(require 'un-define)

;; UTF-8 and Japanese Setting
(set-language-environment 'Japanese)
(set-terminal-coding-system 'utf-8)
(setq file-name-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8-unix)

;; input method関係の設定
;; memo: C-\ #=> toggle-input-method
(setq default-input-method 'japanese-anthy)
という設定を~/.emacsに書き込む。これで、UTF-8でコードされた日本語文書が書けるようになるらしい。続いてウェブ・ブラウザのw3m(およびemacs w3m)とメールもemacsで読んだり書いたりするためにMewとWanderlustを。どちらがいいか、よく判らないので比べてみようと思ったのだ。さらに、epwing規格の電子辞書を使うためにeblookとlookupを。ebとebutilは既に入っている。全部まとめてSynapticで。いや、eblookはなかったかも。

【Emacs練習帳】

MacOSXでの設定

 MacOSXの方はCarbon Emacsを利用する。ダウンロードするだけ。いたって簡単である。w3m、Mew、lookupはここにここに書いてあるとおりにインストール。eblook、eb、ebutilなどをインストール。ebなんかは既に入っているけれども。そして、.emacs.elにw3mについては、

(require 'w3m-load)
(require 'mime-w3m)
(setq w3m-use-cookies t)
と記入。こうしないとcookiesが有効にならず、アクセスできないサイトだらけになってしまう。Mewについては、
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)

;; Optional setup (Read Mail menu for Emacs 21):
(if (boundp 'read-mail-command)
(setq read-mail-command 'mew))

;; Optional setup (e.g. C-xm for sending a message):
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
    (setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
    (define-mail-user-agent
    'mew-user-agent
    'mew-user-agent-compose
    'mew-draft-send-message
    'mew-draft-kill
    'mew-send-hook))
と記入。メールサーバ関連の設定については、また明日。lookupによる辞書検索についても。

 手元には下記の本を置いているのだが、なかなか判りやすい。とはいうものの、私の智識がほとんどゼロなので難しいのである。

_ Amazon.co.jp
Emacs 辞典
翔泳社 (2006/5)
¥ 3,129 (税込)
在庫あり
Sat, 27 Jan 2007 13:05:10 GMT

2007年1月14日(日)lokkitを探し回った日

【Vine Linux】

system-config-securitylevel-tui

 Vine LinuxでVNCが使えなくなり、前のようにsetupコマンドでファイアウォールの設定をしようと思ったら、設定できない。よく見ると、

# /usr/sbin/setup
sh: line 1: /usr/sbin/lokkit: そのようなファイルやディレクトリはありません
と書いてある。しかたがないので、lokkitをインストールしようとすると今度は、
パッケージ lokkit はデータベースには存在しますが、利用可能なバージョン
がありません。おそらく、パッケージが依存に用いられているにもかかわらず
アップロードされていなかったり、廃止されていたり、またはそのパッケー
ジが存在するリポジトリが sources.list に書かれていなかったという状況が考
えられます。
以下のパッケージで置き換えられます:
  system-config-securitylevel-tui
E: パッケージ lokkit はインストールすることができません
 そこで、system-config-securitylevel-tuiをインストール。設定できるようになった。
 設定項目の「信頼できるデバイス」をチェックすると、そちらのネットワークからは使用できるようになった。VNCのポートだけ通したい場合は、どうしたらいいのかよく分からない。
 それにしても、いつの間にかlokkitは廃止になったんだ。オンラインマニュアルにはこれで設定しろって書いてあるのに。

【ubuntu】

lokkit

 ならばubuntuにもlokkitをインストールしてしまえば、VNCが使えるように設定変更できるってことなのかと思って、Synapticを使ってインストール。でも、「信頼できるデバイス」をチェックしても、iptables: Chain already existsと云われてしまうのだ。もっと真面目にiptablesの設定方法を調べてみなければ。大事なことだから。

【MacOSX】

Vine Server

 MacOSX用のVNCサーバにOSXvncというのがあったのだけど、それがいつの間にかVine Serverという名前になっているではないか。どうしてVineなんだ。私が愛用していたLinuxもVineなので、何となく不愉快である。それでも、使っているけど。

Sun, 14 Jan 2007 08:29:09 GMT

2007年1月7日(日)国際標準図書番号について考えた日

【MacOSX】

 PHP5.2.0

 phpの様子が何か変だと思ったら、古いversionになっている。

powermacg5:/usr/bin ynakano$ php -version
PHP 4.4.4 (cli) (built: Nov  1 2006 18:12:33)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
 11月1日に何かインストールしただろうか。システムの自動アップデートに含まれていたのだろうか。とにかく、最新版の5.2.0をインストールする。
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info 
--with-apxs2=/Library/Apache2/bin/apxs --with-ldap=/usr --with-kerberos=/usr 
--enable-cli --enable-trans-sid --enable-exif --enable-ftp --enable-mbstring 
--enable-mbregex --enable-mbstr-enc-trans --enable-dbx --enable-sockets 
--with-iodbc=/usr --with-config-file-path=/etc --sysconfdir=/private/etc 
--with-mysql=/usr/local/mysql --enable-zend-multibyte 
--with-gettext=/usr/local/share --enable-track-vars --with-gettext=/usr/local/share 
--with-gd --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib 
--with-freetype-dir=/usr/local/lib --with-ttf --with-zlib-dir=/usr/lib 
--enable-soap --with-curl --with-socket
 本当は一行に書く。前回記録していたとおりの設定だが、どういう経緯でこの設定に落ち着いたのかはまったく覚えていない。このあとは、make→sudo make installですんなりインストール完了。

 

【PHP】

 新旧ISBN変換器

 PHPで何を書いていたかというと、ISBN変換器である。実は今年の1月1日からISBNが10桁の番号から13桁の番号へと変ったのである。詳しいことは知らないが、英語圏で番号が足りなくなったせいらしい。日本はまだまだ足りなくならないので、13桁にしてもあまり嬉しいことはないようだ。でも変ってしまったから、対応しなければならない。で、一斉に新番号に変るかというとそうでもなく、しばらく混在するだろうし、Amazon.co.jpなんかは、ASINを新ISBNと一致させることはないと云っているので、今後の旧番号の規則に従った番号が必要になるわけだ。旧番号10桁の1〜9桁は新番号4〜12桁の番号と一致している。旧番号の頭に978を付ければいい。問題は新旧どちらの場合も最後の一桁のチェック数字(チェックデジット)である。それは新番号の場合以下のようにして、算出される。

 12桁コードの左から(奇数桁の数字の合計×1)と(偶数桁の数字の合計×3)の和を求める。次に10−(求めた和の下1桁数字)=チェック数字。ただし下1桁数字が0の場合はチェック数字も0とする。日本図書コード管理センター

 旧番号の方は、左から一つずつ数字を取り出してn番目の数字Nに対して、
 N × (11−n)
 を行ない、n = 1 から n = 12 までの数値を合計する。その合計に1〜10 の数を足したものを11で割った時の余りが0になる数字がチェック値。 ただし、それがが10になったときはXとする。判りにくいけれど、そうなのだ。もっと短くいうと「ウェイトとして10から2までを用いるモジュラス11によって算出する。なお、検査数字が10となった場合は10の代わりにXとする。」ということになって、これで通じる人には通じるらしい。

 この情報があれば変換スクリプトが書けるというわけだ。10桁の旧番号を入れれば13桁の新番号が出てきて、13桁の新番号を入れれば10桁の旧番号が出てくるようにした。

#!/usr/bin/php

<?php

$n = strlen(ereg_replace("-","",$argv[1]));
if($n==10){
$isbn10 = $argv[1];
$isbn10 = ereg_replace("-","",$isbn10);
$isbn = "978".substr($isbn10,0,9);
$nos = str_split($isbn,1);
$odds = 0;
$evens = 0;

for($i=0;$i<12;$i=$i+2){
        $odds=$odds+$nos[$i];
        }

for($j=1;$j<12;$j=$j+2){
        $evens=$evens+$nos[$j];
        }

$check=$evens*3+$odds;
$chknos=str_split($check,1);
$last=array_pop($chknos);
if($last==0){
        $x='0';
}else{
        $x=10-$last;
}
$isbn13=substr($isbn,0,12).$x;
echo $isbn13."\n";

}elseif($n==13){

$isbn13 = $argv[1];
$isbn13 = ereg_replace("-","",$isbn13);
$asin = substr($isbn13,3,9);
$nos = str_split($asin,1);

$prod = $nos[0]*10+$nos[1]*9+$nos[2]*8+$nos[3]*7+\
	$nos[4]*6+$nos[5]*5+$nos[6]*4+$nos[7]*3+$nos[8]*2;

for($i=1;$i<=10;$i++){
$amari = fmod($prod+$i,11);
if($amari==0){
	break;
}
}
if($i==10){
        $x='X';
}else{
        $x=$i;
}

$asin=$asin.$x;
echo $asin."\n";

}
?>
 面倒くさいので説明はしないけれど、受け取った文字列の(その中にハイフンがあったらそれを除去してから)文字数を数え、10か13かでそれぞれに相応しい計算をして結果を表示する。これを基にした新旧番号を変換するサイトを作ってみた。→新旧ISBN変換器

 この変換器をRubyで書いてみようと思ったら、すっかりRubyを忘れていることに気がついた。どうにかしなければ。

Sun, 07 Jan 2007 08:05:16 GMT

2007年1月6日(土)Vine Linux 4.0アップグレードに失敗した日

【Vine Linux 4.0】

起動せず

 久しぶりの更新である。あれから、ちょっとした事件が起こったので報告する。世の中の人にとってはどうでもいいことだろうが、私にとっては大事件なので勝手に報告するのである。

 自宅サーバのシステムはその日までVine Linux 3.2だった。3・4台ほど新規インストールやアップグレードを練習してきたので、もう大丈夫だろうと思って何度も使ったCDを使いアップグレード作業を行ったところ、起動しなくなった。起動直前に画面が真っ暗になり、まったく進まないのだ。仕方がないので、ハードディスクを初期化して新規インストールを選択することにした。サーバはバックアップから再構築することにしよう。面倒くさいけど。年末だからこそできるというか、年末の一日を潰すのは残念というか。
 ところがインストール後の再起動で結果は同じだったのだ。なぜだ!

 

【ubuntu 6.10】

インストール

 こうなったらubuntuだ。Vineを愛していたのに裏切られた気分で、Linux World最終号の附録CDを使ってインストール。再起動するとちゃんと起動した。これが当たり前なのに嬉しい。
$ sudo apt-get install build-essential
で開発環境をインストール。日本語版セットアップヘルパでいくつかアプリケーションを追加。

 No-IP.comからLinux/BSD/Unix Dynamic Update Clientをダウンロード。インストールと設定。設定はidとpasswordを訊かれるのに答えるだけ。
 その他、apache2, vncserver/viewer, SSH, MySQL5.0, PHP5.1.6, ruby1.8.2ほかいろいろインストールしたが、詳細はもう忘れてしまった。

 

【ubuntu 6.10】

MySQL

 ubuntuの日本語文字コードは何でもutf8になっているようだから、MySQLもutf8で使えるのかと思ったらどうも日本語が文字化けする。そこで確認してみると、

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     | 
| character_set_connection | latin1                     | 
| character_set_database   | latin1                     | 
| character_set_filesystem | binary                     | 
| character_set_results    | latin1                     | 
| character_set_server     | latin1                     | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
となっていた。これはちょっと不便なのでmy.cnfに、

[client] default-character-set = utf8
[mysqld] default-character-set = utf8
character-set-server = utf8
skip-character-set-client-handshake
[mysqldump] default-character-set= utf8
[mysql] default-character-set= utf8

と書き込んだ。 mysql>SHOW VARIABLES LIKE 'char%;'で確認するとこうなった。
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       | 
| character_set_connection | utf8                       | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | utf8                       | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

 その他、vncでアクセスできなくなってしまって本当に困っている。vine linuxのときと同じようにすればいいだろうと思ったが、同じようにはできなかった。いろいろ調べたのだけれど、未だに解決していない。

 そんなわけで、年末年始の休みはひたすらサーバーの復旧作業に明け暮れました。バックアップは万全だと思っていたのは大間違いで、phpやrubyのスクリプトの大半を失ってしまった。

Sat, 06 Jan 2007 02:54:07 GMT

2006年12月16日(土)VNCに戸惑った日

【Vine Linux 4.0】

VNC

 新規インストールしたVine Linux 4.0でVNCを設定してみた。RealVNC 4 Free Editionをダウンロードして、書いてあるとおりにインストールする。ここで何の説明も不要だと断言できるほど簡単である。早速vncserverを立ち上げようとすると、

error while loading shared libraries: \
libstdc++-libc6.2-2.so.3: \
cannot open shared object file: No such file or directory
というようなエラーが出てしまう。そこで、libstdc++2_10-compatをインストール。vncserverは起動できるようになる。ところが、vncviewerで接続しようとすると、
"unable to connect to host: No route to host (113)"
というような表示が出て接続できない。今度は、setupコマンドを使ってFirewallの設定を行なう。「信頼できるデバイス」というところにチェックを入れる。すると接続できるようになった。gnomeや日本語入力については前に書いたとおり。

【届いた本】

実践ハイパフォーマンスMySQL
_ Amazon.co.jp
実践ハイパフォーマンスMySQL
オライリージャパン (2004/10)
¥ 3,780 (税込)
在庫あり
Sat, 16 Dec 2006 12:28:15 GMT

2006年12月13日(水)洋梨を齧り始めた日

【VineLinux】

日本語入力

 日本語の入力(仮名漢字変換)をSCIM/ANTHYにしたい場合(前に書いたようにアップグレードだとVJEのまま)、

setime scim
すればいいのだった。このsetimeというのはVine独自のコマンドらしい。

【PHP/PEAR】

Math_Stats
 折角PEARの本を買ったのだから、少しずつ馴染んでいこうと思って、何か試してみようと考えた。何となくMath_Statsを選んでみる。インストールは、
# pear install Math_Stats
でいいのだけど、ubuntuではPEARがインストールされていなくて、一瞬狼狽えてしまった。PEARをインストールしても、Math_Statsなんて見つからないけど……という表示で終わってしまった。確かにあるのに何故? と思ったが、ちゃんと本に書いてあった。pear config-set preferred_state betaと設定しておかないとβ版がインストールできないのだった。MacOSXではそのままインストールできた(もともとMacOSXではそういう状態になっているという意味ではない。私のMacがそうなっていただけである)。
 このPEARは統計的な数値を出すのを助けてくれるという。こんなPHPスクリプトを書いてみた。前半がPEAR使用版、後半がPEAR未使用版である。
<?php

require_once('Math/Stats.php');

$data=array(13,12,15,11,19,12,15,14,17,11);

$stat=new Math_Stats();
$stat->setData($data);
echo "Max = ".$stat->max()."\n";
echo "Min = ".$stat->min()."\n";
echo "Mean = ".$stat->mean()."\n";
echo "SD = ".$stat->stDev()."\n";
echo "SE = ".$stat->stdErrorOfMean()."\n\n";

$sum=array_sum($data);
$num=count($data);
$mean=$sum/$num;
	$dttl=0;
	foreach($data as $value){
		$dif=$value-$mean;
		$ddif=$dif*$dif;
		$dttl=$dttl+$ddif;
	}
	$var=$dttl/($num-1);
	$sd=sqrt($var);
	$se=$sd/(sqrt($num));
echo "Max = ".max($data)."\n";
echo "Min = ".min($data)."\n";
echo "Mean = ".$mean."\n";
echo "SD = ".$sd."\n";
echo "SE = ".$se."\n";

?>
 最大値最小値を出すようなときにはほとんど意味がないけれども、標準偏差とか標準誤差を出すときにはちょっと楽かも。どちらで計算しても結果は、
Max = 19
Min = 11
Mean = 13.9
SD = 2.64365067452
SE = 0.835995746932
と出てくる。もっと便利な思いをしたいものである。

【届いた本】

MySQL Cookbook第二版
_ Amazon.co.jp
MySQL Cookbook, 2nd Edition
O'Reilly (2006/11)
¥ 5,166 (税込)
通常7~13日以内に発送
Wed, 13 Dec 2006 12:33:53 GMT

2006年12月3日(日)ドイツから洋梨を買った日

【PHP】

PEARの本

 PEAR(PHP Extension and Application Repository)のことを詳しく書いている本がないものかと思って『PEAR入門』を前に買ったのだけれど、400を越すパッケージが登録されているというにはこの本で紹介されているものは少ないのではないかと少々不満であった。もっと分厚いPEARの本はないのか。と思って探していたところ、800ページ近い厚さのPEARの本を見つけ、早速註文した。それが今日届いた。嬉しい。

 99のPEARパッケージと11のPECLパッケージを紹介している。でも、やはりPEARというとオブジェクト指向で書かなくてはならないんですか? オブジェクト指向の話から始まっているんですけど。これを機会にPHPのオブジェクト指向に馴染めばいいのだろうか。

 ああ、この本が日本語で書いてあればどんなに楽だったろう。せめて英語なら!

_ Amazon.co.jp
PHP PEAR
Galileo Press GmbH (2005/06)
¥ 7,341より
出品者から通常2営業日以内に発送
Sun, 03 Dec 2006 12:14:03 GMT

2006年11月28日(火)アップグレードの日

【Vine Linux】

インストール

 Vine Lunuxを一つ、3.2から4.0にアップグレードしてみた。インストール用のCD-ROMを用意して、アップグレード・インストール。ただ、「次へ」とクリックしていくだけ。完了後、再起動の後、  

  # apt-get update
  # apt-get -f dist-upgrade
  
を忘れるなということだったので、ちゃんと忘れずに実行する。少しだけ試してみて気づいたこと:

1. 4.0では「SCIM + Anthy を標準日本語入力システムとして採用」しているのだが、アップグレードではVJEのままである。どうすればSCIMに変更できるのかよく判らない。
2. geditで日本語を入力しようとすると動かなくなる。
3. VNCの設定を変更しなければならなかった。日本語入力は、「GTK_IM_MODULE=scim」「export GTK_IM_MODULE」をxtartupに追加したところ、エラーが出たようだが入力自体は可能になった。もう少し様子を見てみる。vjeを有効にする方法は判らない(いろいろ試してみたけれども、駄目だった)。
4. emacsでまたVNC越しに日本語が使えなくなっていた。どうすればいいんだったか。

 やはり新規インストールの方がいい。

【Linux】

LinuxWorld

 なんとLinuxWorldが1月号で休刊になっていた。記念に最終号を買っておこうか。

_ Amazon.co.jp
Linux WORLD 2007年 1月号
アイ・ディ・ジー・ジャパン
¥ 1,580 (税込)
在庫あり。
Tue, 28 Nov 2006 14:15:10 GMT