2009/09/23(水) Namazu2.0.20

出たのでインストール。前回、File-MMagicのインストールで戸惑ったが、さくらインターネットにはFile-MMagicが入っていると分かったので、今回は最初から./configure、make、make check、make installのみを実行。うまくいった。

今回の主なバージョンアップ内容は「バッファオーバーランを起こす可能性がある不具合を修正」とのこと。Windows版が同時に出るのは珍しいな。

2009/09/22(火)プログラマの適性判定テスト

 ものすごく旧聞に属することで恐縮だが、日本語プログラム言語なでしこのホームページに第1回コンピュータブル文学賞について書いてある。「あたしコード、っていうか FizzBuzz。」というプログラムが受賞したのだけれど、このFizzBuzzって何かというと、1から順番に数を数えていき、3で割り切れる時にFizz、5で割り切れる時にBuzz、3と5の両方で割り切れる時にはFizzBuzzと言うゲーム。詳しくはFizz Buzz - Wikipediaを見てほしいが、世界のナベアツがやっている3と3の倍数の時にアホになるというのはこのFizzBuzz問題をマネしたものらしい。

 受賞作の「あたしコード、っていうか FizzBuzz。」は2009/03/22 - diaroid - Site Untitledで見ることができる。ケータイ小説の文体で書いた日本語プログラムだが、これを実行すると、ちゃんとFizzBuzz問題が表示される(こんな感じ)。

 で、先ほど書いたWikipediaのページに「どうしてプログラマに・・・プログラムが書けないのか?」というページがリンクされていて、さらにそのページから「Coding Horror: Separating Programming Sheep from Non-Programming Goats」というページがリンクされている(日本語訳はプログラミングできる人とできない人との間の深い溝 - 翡翠はコンピュータに卵を生むか)。ここに書いてあるプログラミング適性を判定する問題が面白い。以下のようなものだ。

int a = 10;
int b = 20;
a = b;
aとbの新しい値は以下の組合せのうちどれか:
a = 20,b = 0
a = 20,b = 20
a = 0, b = 10
a = 10,b = 10
a = 30,b = 20
a = 30,b = 0
a = 10,b = 30
a = 0, b = 30
a = 10,b = 20
a = 20,b = 10

 コードを一度も見たことがない計算機科学部の新入生向けのテストだそうだ。プログラムやってる人なら常識的すぎるが、知らない人には何のことやら分からないだろう。

変数への代入を表したもので、答はa=20,b=20となる。このテストを受けた「学生の44%は代入がどのように働くかについて一貫したモデルを持つに至る」そうだが、逆に言えば、半数以上は代入が理解できず、ということはプログラマに向いていないことになる。

 人には向き不向きがある。プログラマに向いていなくても政治家や芸術家や実業家に向いているかもしれず、悲観することは何もないが、自分の適性を知らずに進学先を決めている人も多いのだろうなと思う。こういう適性テストは入学後ではなく、入学前にやった方がいいのだろう。

2009/09/16(水) pnamazuの携帯電話モード

PCにNamazu for Windowsを入れたら動かない。原因はMicrosoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラムらしい。更新プログラムを入れたら、すんなり動いた。これが分かるまでに、Perlのバージョンが悪いのかとインストール、アンインストールを繰り返し、すっかりはまった。

作ったのは携帯電話用の検索ページ。サーバーにNamazuがインストールできない環境なので、PCでインデックスを作成し、検索クライアントにはpnamazuを使った。検索対象ファイルはPHP。mknmzrcにPHP用の設定を行えばインデックスは作成できるが、要約の中にタグが入ってくるので、結局、余計なタグを削除し、拡張子を.HTMLに変換して、タイトルタグのみ挿入した。こうすると、検索結果のリンクにファイル名ではなく、タイトル名が表示される。

久しぶりに使ったけれど、pnamazuには本家Namazuにはない携帯電話モードがあって、すごく便利だ。要約を短くするほか、著者や日付を表示しないなど携帯用に表示が軽量化されている。余計な設定は必要なく、NMZ.phoneとNMZ.result.phoneをインデックスの中に入れておくだけで動作する。これは本家Namazuにも取り入れて欲しい仕様だな。pnamazuは2006年以来、バージョンアップがないけれども、需要は多いのではないかと思う。

2009/09/02(水) ココログのScribeFire設定の方法

どうしても分からないとTwitterに書いたが、分かったのでメモ。

設定ウィザードの最初に出る「ブログのURL」にココログのログインURLであるhttp://www.cocolog-nifty.com/login/を入力。すると、「ブログの設定を検出できませんでした」と出る。そこで「手動で設定する」を選択(この画面の出し方が分からなかったのだ)。

「使用しているブログサービスを選択してください」でMovable Typeを選び、APIはXML-RPC を利用してデスクトップクライアントからココログに投稿することはできる? を参考にして設定する。ベーシック・プラス・プロの場合はhttps://app.cocolog-nifty.com/t/api。アカウントとパスワードを入力して設定終了。分かってみれば、簡単だった。

ScribeFireは動作が軽いのが一番の利点だな。Windows Live Writerもxfyブログエディタも重すぎる。ブログエディタはこれがベストだと思う。