定石アップデート 9路盤-17984局面 11路盤-7514局面 13路盤-3656局面

COSUMIの定石をアップデートしました。今現在、9路盤が17984局面分、11路盤が7514局面分、13路盤が3656局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

COSUMIが負けた棋譜を数百局並べましたが、うーんGNU Goってこんなに弱かったっけ?(笑) まあ、負けてる対局ばかり見ているからかもしれませんが、9路以下はともかく、それより大きな碁盤サイズでは、いくら定石を用意しても後ろのソフトががんばってくれないとどうしようもありません。もうちょびっと強くなってくれるとうれしいんですが…

Firefox 3で使えるおすすめテーマ

2008.12.11  |  Firefox  |  Comments (0)

アクセス解析をしていると、”firefox”、”テーマ”、”おすすめ”という単語の検索で、4年以上も前に書いたブログの記事に飛んでくる人がけっこう多いのですが、内容が古すぎてちょっと心苦しいので、もう一度新しくFirefox 3対応版記事を書いてみたいと思います。完全に個人的な趣味のセレクトですが、”オーソドックス”と”シンプル”がキーワードです。

Qute

ここ2、3年はずっとこのテーマを使ってました。やっぱり普通が一番!(笑) 遠い昔(Firebirdの頃だったっけ?)、このテーマは一時期Firefoxのデフォルトでした。

Kempelton

先のQuteと同じ作者のテーマ。Windows版Thunderbirdのデフォルトもこれですが、Firefox用はさらにアイコンセットが新しくなっています。

rein

シンプルで、細かいところまですごくよくできています。

Utopia White

モノクロの丸いアイコン。

Full Flat

これはすごい! シンプルと言うほかないです(笑)。でも、意外に視認性は悪くないかも…

iFox

Safariライクなテーマ。

Chromifox

Google Chromeライクなテーマ。

Firefox 2 theme for Firefox 3

名前のとおりのテーマです。昔が懐かしい人に。

7路盤スペシャルバージョン

囲碁は5路盤までコンピュータで完全に解析されていますが、それより大きなサイズでは、7路盤までがある程度しっかりと人力で調べられていて、お互いが最善を尽くすと先番9目勝ちだと言われています。ということで、それが本当に正しいのか確かめるためにこんなものを作ってみました。

7路盤スペシャルバージョン
http://www.cosumi.net/seven.html

ただのコミ9目の7路盤ですが、このページでCOSUMIが負けた棋譜は全て保存しています。そして、その棋譜に後から目を通して、同じ間違いをしないように正しい手を定石に追加していきたいと思います。時間は掛かると思いますが、いつか(持碁になる時はあっても)負けなくなるでしょう。可能性はかなり低いですが、もしかしたら新しい妙手が見つかるかもしれません。最終的に、ある程度ちゃんとした定石が出来上がれば、SGFファイルにして公開したいと思います。7路といっても想像以上に難解で、自分の棋力が足りるのかがちょっと心配ですが…

7路盤については、こちらのページがとても詳しいです。

七路盤の研究
http://tokyo.cool.ne.jp/keioigo/7ro/
http://orange.zero.jp/qin.olive/7ro/

だいたいこれで、COSUMIでやってみたかったことは全て終わりました。後は、時間のある時に少しずつ定石を増やして、強く・面白くしていきたいと思います。

[以後の関連記事] : 7路盤スペシャルバージョンの定石を公開します

SFTPにアスキーモードはない?

2008.11.30  |  ウェブ制作  |  Comments (0)

最近知ったことなんですが、SFTP(SSH File Transfer Protocol)にはプロトコルレベルでアスキーモード(テキストモード)とバイナリモードの区別がなく、すべてのファイルは改行コードの変換が行われないで転送されるんだそうです。SFTPに対応したクライアントソフトの中には、ソフト自身でそれをしてくれるものもあるみたいですが、それはFTPのアスキーモードとはちょっと意味が違うとのこと。そこで、普段使用しているFilezilla(バージョン 3.1.5.1)はどうなっているのか確かめてみると、SFTPで接続時はファイルの種類や設定に関わらず、改行コードの変換が行われていませんでした([転送]-[転送モード]もグレーアウトしている)。うーんしかしこれは、知らないで使っているとなにかの時に嵌りそうな話ですね…

ただ、SFTPのアスキーモードについてもう少し調べてみると、こんなのとかこんなのが見つかりました。うーん、難しくてよく分かりませんが、将来的には…ってことでしょうか?

コメントスパム対策にWP-SpamFreeを使ってみる

2008.11.29  |  WordPress, ウェブ制作  |  Comments (2)

このWordPressを使った新しいブログにも、ちょこちょことコメントスパムが来だしたので、その対策に先日からWP-SpamFreeというプラグインを使い始めました。普通はみんなAkismetを使っているんだと思いますが、ユーザ登録が必要だったりするのがちょっといやだったので、簡単・お手軽なこちらのプラグインを選んでみました。

WP-SpamFree: A Powerful Anti-Spam Plugin for WordPress! | WebGeek
http://www.hybrid6.com/webgeek/plugins/wp-spamfree

一応今までのところ、100%完全にスパムコメントをブロックしていてくれています。後は誤判定さえなければいいのですが、大丈夫かな?

ちなみに、WP-SpamFreeはJavaScriptとCookieが有効になっているかを調べてスパム判定しているようなので、もしコメントできなかったら、その二つを確認してみてください。

さくら専用サーバエントリープランの使用感

COSUMIは、さくらの専用サーバエントリープランで現在運営しています。このサーバを借り始めてから半年近く経ったので、このあたりで使ってみた感想を記事にしておきたいと思います。と言っても、ごく単純なウェブサーバとして使っているだけなので、高度な内容の話はなにもありません。

専用サーバ|エントリー:月額7800円ではじめられるさくらの専用レンタルサーバ
http://server.sakura.ad.jp/dedicated/entry/

ハードウェアはCeleron 215、メモリ 1GB、HDD 80GBとかなりミニマムなスペックです(なんて言ったら贅沢か(笑))。Celeron 215ってのが調べてもあまりよく分かりませんが、一応こんな感じのCPUです。

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Intel(R) Celeron(R) CPU          215  @ 1.33GHz
stepping	: 8
cpu MHz		: 1333.439
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush
 dts acpi mmx fxsr sse sse2 ss tm pbe nx constant_tsc up pni monitor tm2 xtpr
bogomips	: 2667.65

なにを見てそう勘違いしたのか、借りる前はデュアルコアのCPUだと思ってたのですが、ではないです(泣)。ただしこちらからダウンロードしてきたSuperπでベンチとってみると、そこそこ速そう。

Start of PI calculation up to 1048576 decimal digits
 End of initialization. Time=       0.651 Sec.
 I= 1 L=       0        Time=       2.072 Sec.
 I= 2 L=       0        Time=       2.379 Sec.
 I= 3 L=       1        Time=       2.381 Sec.
 I= 4 L=       2        Time=       2.378 Sec.
 I= 5 L=       5        Time=       2.383 Sec.
 I= 6 L=      10        Time=       2.377 Sec.
 I= 7 L=      21        Time=       2.381 Sec.
 I= 8 L=      43        Time=       2.377 Sec.
 I= 9 L=      87        Time=       2.380 Sec.
 I=10 L=     174        Time=       2.377 Sec.
 I=11 L=     349        Time=       2.380 Sec.
 I=12 L=     698        Time=       2.376 Sec.
 I=13 L=    1396        Time=       2.379 Sec.
 I=14 L=    2794        Time=       2.374 Sec.
 I=15 L=    5588        Time=       2.371 Sec.
 I=16 L=   11176        Time=       2.358 Sec.
 I=17 L=   22353        Time=       2.324 Sec.
 I=18 L=   44707        Time=       2.266 Sec.
 I=19 L=   89415        Time=       2.104 Sec.
 End of main loop
 End of calculation.    Time=      46.937 Sec.
 End of data output.    Time=       0.195 Sec.
 Total calculation(I/O) time=      47.132(       1.321) Sec.

COSUMIはCPUがボトルネックなので、このあたりの数字が結構気になるのですが、とりあえずOKかな? ただ、今現在さくらのサイトでは、CPUはIntel CeleronまたはIntel Atomってなっていますので注意してください。Atomにもいろいろ種類があると思うのですが、どうなんでしょうか?

OSはCentOS 5のみです。上位のプランだともっとたくさんの種類の中から選べるのですが、個人的には他の選択肢があったとしてもCentOS 5を選ぶと思うので、別に構いません。

OSは選択できませんが、パッケージ構成は、「標準構成」と「最小構成」の二つから選べます。うちは最小構成なんですが、今さくらのサイト見てみると、最初はウェブサーバも入ってなかったんですね。自分で入れた記憶がちょっと無いんですが…(笑) 参考までに今現在こんな感じ。

$ rpm -qa | wc -l
478

自分で入れたパッケージはそんなにたくさんはないはずです。

それから、標準サービスとしてトラフィックレポートを見ることができるのがGood! サーバでの設定等は一切必要ありません。

専用サーバ|トラフィックレポート – さくらインターネット
http://server.sakura.ad.jp/dedicated/service/traffic.html

全体的な感想としてはかなり満足です。とりあえず今までのところ安定して動いてますし、サーバのレスポンスも悪くないと思うので。価格もまあ妥当ではないでしょうか? 初期費用が0っていうのは、気軽に始められるのですごくいいです! だめならだめでどこかに乗り換えればいいだけですしね。月額10,000円以下の専用サーバを探している時は、候補に入れてみてはいかがでしょうか?

[追記]
他の方が書かれたこちらの記事も参考にしてみてください。

さくらの専用サーバーエントリープランが良かった6つの理由(+嫌な点3つ)
http://p0t.jp/archives/2008/10/post-35.html

クオリティの高い背景画像がダウンロードできる ava7 patterns

さまざまなテイストのハイクオリティな背景画像がダウンロードできるサイトです。現時点で500種類以上公開されてます。

ava7 patterns | free seamless background patterns
http://patterns.ava7.com/

使用条件は、「ウェブサイトで使う時はリンクしてくれるとうれしいけど、絶対必要ってわけではないよ。でも、売ったり配布したりするのはダメ!」みたいな感じ。さっそく、COSUMIで使わせてもらうことにしましたが、すごくいいです!(色合いは少し変えちゃってますが… 改変はOKだよね?) ずいぶん品が良くなりました。

対局リプレイ

COSUMIで、対局後に対局のリプレイを見ることができるようになりました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

対局リプレイのURLはその対局固有のものになっていて、とりあえずブックマークに入れておいて後からゆっくり見たりすることができます。さらに、他の人に見てもらうこともできるので、友達にメールで送ったり、ブログに載せたりして見てもらうのもいいかもしれません。「そうは言うけど、URLがちょっと長すぎるよ!」って人は、TinyURLのようなURL短縮サービスでも使ってください。余談ですが、この手のサービスが最近ほんとたくさんあるんですね。セキュリティなんかが少し気になるところです。

主なURL短縮サービス14個の長所と短所(その1) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/06/4134
主なURL短縮サービス14個の長所と短所(その2) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/07/4135
主なURL短縮サービス14個の長所と短所(その3) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/08/4136

話し戻って対局リプレイですが、URLのパラメータを変更することで、COSUMIで打った対局以外の棋譜のリプレイも見ることができるようになります。URLを見ればだいたいの意味は分かると思いますが、よければこちらも参考にしてみてください。13路盤までしか対応していないのがなんですが、自由に使っていただいてかまいません。

[追記]
対局リプレイを19路盤にも対応させました。さらに、手持ちのSGF形式の棋譜をこの機能を使って再生できるように、簡単なウェブフォームも用意しました。棋譜を貼り付けて送信すると、その棋譜に応じたURLへリダイレクトします。何かの時に少しは便利かもしれません。

http://www.cosumi.net/sgf2replay.html

自前のSGFのパーサはあまり賢くないので、そこは大目に見てください(笑)。

13路盤

COSUMIで13路盤の対局もできるようにしました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

定石はとりあえず3228局面分用意しました。時間がある時にまた追加します。併せて、COSUMI APIも13路盤まで対応しました。

これより大きな碁盤に対応することは、たぶんもうありません(笑)。

定石アップデート 9路盤-15676局面 11路盤-6862局面

COSUMIの定石をアップデートしました。今現在、9路盤が15676局面分、11路盤が6862局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

全部ではないですが、COSUMIが負けた棋譜をひとつひとつ並べて調べて、定石を追加・修正しました。これで少しはましになったかな? これからも、この方法で少しずつ改善させていくつもりです。

とっても囲碁なWeb APIを作ってみました

囲碁の棋譜を送るとその次の一手を考えて返すという、とっても囲碁なWeb APIを作ってみました。今現在のところ、9路盤と11路盤のみにしか対応してませんので使い道はかなり限られると思いますが、このWeb APIを利用した楽しい「なにか」を、だれかが作ってくれたらうれしいです。

囲碁Web API 「COSUMI API」
http://www.cosumi.net/api.html

このWeb APIは、あくまでサーバのリソースが余っていたら仕事するって感じなので、サーバが過負荷な状態の時は手を考えないでエラーレスポンスを返すようになっていますが、今現在ならほぼ24時間いつでも正常にレスポンスを返せると思います。こういうWeb APIは継続してサービスを提供し続けることがすごく大切だと思うので、約束は一切できませんが、できるだけ長い期間使えるようにがんばります!

「仕様がおかしい!」とか、「仕様どおりに動いてない!」とかがあればぜひ教えてください。それもできるだけがんばって直してみたいと思います。

[追記]
13路盤にも対応しました。

定石アップデート 9路盤-14148局面 11路盤-5246局面

COSUMIの定石をアップデートしました。今現在、9路盤が14148局面分、11路盤が5246局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

気力はあるんですが、棋力がそろそろ限界です…(笑) もう少し詰碁の勉強とかやらないとだめですね。

Learning Perl, Fifth Edition

2008.06.29  |  Perl, 書籍  |  Comments (0)

「リャマ本」こと「Learning Perl」(日本版のタイトルは「初めてのPerl」)の第5版が出たみたいです。英語版の第4版買うか、日本語版の第3版買うかで迷っていたところなのでちょっとうれしい。Perl 5.10にも対応ってことらしいです。

これの日本語版は出ないのでしょうか? できればそっちの方が読みやすいんですが…

Sage用のスタイルシートをまたまた改良してみた

2008.06.25  |  Firefox  |  Comments (5)

以前作ったSage用のスタイルシートを、Firefox 3に合せてリリースされた新しいバージョンのSageに対応させました(Sageのバージョン1.4には、ユーザースタイルシートが適応されないバグがありましたが、1.4.1で修正されています)。さらに、Sage-Tooという新しい拡張機能も出ていますが、この拡張機能でも使用できるようにしてあります。気に入ったらぜひ使ってみてください。

http://www.perfectsky.net/download/sage/chestnut.css (左)
http://www.perfectsky.net/download/sage/ocean.css (中央)
http://www.perfectsky.net/download/sage/grape.css (右)

Sage-Tooの生い立ちの経緯があまりよく分からないのですが、開発者間で少しゴタゴタがあったということでしょうか? 一応、Sage-Tooの方が高機能のようですし、Firefox Add-onsの週間ダウンロード数を見てみると、今現在のところ、Sageが18,427回、Sage-Tooが58,141回と、Sage-Tooは結構人気があるみたいなので、私も今はこちらを使用しています。

しかしFirefox 3はなかなかいいですね! -moz-border-radiusもアンチエイリアスが掛かるようになったので、このスタイルシートも少しリッチになりました。

[追記]
Sage++でも、特に問題なく使えると思います。

[追記 2012/12/27]
最近のFirefoxは-moz-border-radiusが使えなくなっているので、border-radiusに書き直しました。

Flashは動き始めるまでにダウンロードが完了しているとは限らない

以前からたまに、COSUMIのオンライン対局のFlashが動かない時があってちょっと気持ち悪く思っていたのですが、ようやくその原因が分かりました! どうやら、自身のswfファイルのダウンロード完了を待たずして動き始めたFlashが、まだダウンロードできてない部分のデータを必要として問題が起こっていたようです(なので、ブラウザがそのswfファイルをキャッシュに持っている時は問題が出なかった)。うーん、Flashというのは、ファイルがすべてダウンロードされてから動き始めるわけではないんですね! 一度分かってしまえばごくごく単純なことなんですが、Flashは最近初めたばかりなので、このあたりの基本がなってませんでした…

ということで、今回はMovieClip.getBytesLoadedMovieClip.getBytesTotalを使って、自身のswfファイルのダウンロードが完了するまでは、メインの動作を始めないように直しました。たぶんこれで大丈夫だと思います。

回線の速度やブラウザの種類、それからPCのスペックなども関係してくると思うので、はっきりしたことはよく分かりませんが、今までどれくらいの確率で動かなかったのかを考えるとめちゃくちゃ恐ろしい…(笑)

AWStatsとクエリストリング

2008.06.18  |  ウェブ制作  |  Comments (0)

WordPressを使い始めて気づいたのですが、デフォルト設定のAWStatsは、URLに付加されたクエリストリングを無視してアクセスを集計するようになっています。例えば、

http://www.example.com/?p=foo

というアクセスは、

http://www.example.com/

へのアクセスとしてカウントされます。当然の振る舞いのようにも思いますが、クエリストリングが付いている時に全く別の内容が表示される場合は、できれば別々にカウントして欲しいですね。そういう時は、コンフィグファイルのURLWithQueryという項目を設定するといいようです。デフォルトは0になっているのでこれを1にします。

URLWithQuery=1

ただし、特定のパラメータに関してはデフォルトどおり無視してほしい場合もあります。その時は、URLWithQueryWithOnlyFollowingParameters、もしくはURLWithQueryWithoutFollowingParametersという項目のどちらか1つもいっしょに設定します。例えば、

http://www.example.com/?p1=foo&p2=foo
http://www.example.com/?p1=foo&p2=bar
http://www.example.com/?p1=bar&p2=foo
http://www.example.com/?p1=bar&p2=bar

こんな4つのURLへのアクセスがそれぞれ1回ずつあった場合、

URLWithQueryWithOnlyFollowingParameters="p1"

と設定すると、

http://www.example.com/?p1=foo
http://www.example.com/?p1=bar

という2つのURLへのそれぞれ2回ずつのアクセスとカウントされます。

URLWithQueryWithoutFollowingParameters="p1"

と設定すると、

http://www.example.com/?p2=foo
http://www.example.com/?p2=bar

という2つのURLへのそれぞれ2回ずつのアクセスとカウントされます。

両方の項目ともスペースで区切ることによって、複数のパラメータ名を設定できます。例えばこんな感じです。

URLWithQueryWithOnlyFollowingParameters="p1 p2"

ちなみに、このURLWithQueryWithOnlyFollowingParametersURLWithQueryWithoutFollowingParameters
を同時に設定すると、エラーが出て動きません。「どちらかが優先される」とかではないようです。

11路盤

COSUMIで11路盤の対局もできるようにしました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

このところ7路盤や9路盤ばかり見ていたので余計にそう感じるのですが、11路盤ってけっこう広いですねー 2路しか違わないのに、明らかに9路盤とは違う感覚が要求されるような気がします。なんだかもう、初手からしてどこに打っていいのかよく分からないような状態なんですが(笑)、とりあえず2590局面分の定石をなんとか用意しました。ついでに9路盤も定石を追加・整理して、こちらは今現在11352局面分です。GNU Goの11路盤はなんだかちょっとあやしい感じがあるので、できるだけ定石でごまかしてしまいたい(笑)。

Lorem ipsum dolor sit amet?

2008.06.13  |  その他  |  Comments (1)

COSUMI制作時、ActionScriptのリファレンスに首ったけになっていたんですが、その中にちょっと気になるこんな箇所がありました。

my_txt.text = “Lorem ipsum dolor sit amet…”;

この’Lorem ipsum…’って何語? どういう意味? って思ったのですが、ネットで調べてみると、これは昔からある有名なダミーテキストなんだそうです。

Lorem ipsum – Wikipedia
http://ja.wikipedia.org/wiki/Lorem_ipsum

続きもまだまだあります。

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

こういうダミーテキストの必要性ってすごく分かります。COSUMI作っている時は、特に深い意味は無いですが、こんなマザーグースを使っていました。

Blow, wind, blow! And go, mill, go!
That the miller may grind his corn;
That the baker may take it,
And into rolls make it,
And bring us some hot in the morn.

Linuxでファイルサイズを0にする

2008.06.09  |  Linux  |  Comments (0)

今回は、最近いろいろとさわる機会の多かったLinuxの話です。

大きくなったログファイルなどを、一旦クリアしてしまいたい時ってありますよね。rmしてtouchとかでもできなくはないですが、パーミッションを設定し直したりしないといけなかったりするので、あまりスマートな方法ではなさそうです。こういう時、普通はどうするのかなと思って調べていたら、こんなページが見つかりました。

ファイルを空にする – 揮発性のメモ
http://d.hatena.ne.jp/iww/20071007/cat

$ :> foo.log

おお、こんなやり方があるんですね。知りませんでした。しかし、このスマイリーみたいな:>の意味が分かりません。とりあえず、試しに目と口の間に(笑)スペースを入れてみます。

$ : > foo.log

これも先ほどと同じ結果になりました。ということは:>は別々のようです。>はリダイレクトですが、では一体:ってなんなのでしょうか? 記号ってほんと検索しにくいのですが(笑)がんばって調べてみると、こちらのページ曰く、何もせず,0を返すということだそうです。ということは、こんなのと一緒でしょうか?

$ echo > foo.log

と思ったら、ファイルサイズが1バイトになってしまいます。テキストエディタで開くと、改行が一つ入っていました。こういう時は

$ echo -n > foo.log

-nオプションを付けるといいようです。このあたりで気づいたのですが、これでもいいようです。

$ > foo.log

シンプル! 勉強になりました。ちなみに普通はこうするらしい。

$ cp /dev/null foo.log

まあそうですよね。たぶんこれが一番安全です。

[追記]
こちらのサイトも参考になると思います。

CGI.pmは重い

2008.06.08  |  Perl, ウェブ制作  |  Comments (3)

今更な話なのですが、いつもお世話になっているCGI.pmには、ものすごくたくさんの機能があることを最近初めて知りました。いつも、単に「フォームから渡されたパラメータを取得すること」にしか使っていなかったんですが、そのためだけのモジュールではないんですね…(ホント今更な話ですみません(笑))

それとは別に、最近初めて知ったものに、mod_perlやSpeedyCGIというのがあります。通常、Perlで書かれたCGIは、呼び出される度にコンパイルされて、そして実行されるんですが、mod_perlやSpeedyCGIは、一度コンパイルしたプログラムをそのまま残しておいて、次回以降のコンパイルプロセスを省くことにより、CGIの動作を高速化することができます。場合によっては数十倍も速くなるらしく、それはそれでかなりすごいのですが、そもそも実際のプログラムの実行ではなく、コンパイル時のコストがこんなに大きいってのが驚きです。

話し戻ってCGI.pmです。先ほども書いたように、大したことに使ってないのに、この巨大なモジュールを毎回コンパイルしているのは、かなり無駄が大きそうです。そこで試しに、このCGIをCGI.pmを使わないように書き直して、ab(Apache Bench)でベンチをとってみたら、なんと約4倍も速くなりました。おそらくこれはかなりレアなケースだと思いますが、大変な違いですね。「車輪の再発明」は良くないかもしれませんが、車輪一つが必要な時に10tトラック持って来るのも品がありません(この例えも品がないけど(笑))。

CGI.pmの軽量版モジュールにCGI::Minimalっていうのもあります。

CGI::Minimal – A lightweight CGI form processing package – search.cpan.org
http://search.cpan.org/dist/CGI-Minimal/lib/CGI/Minimal.pod

ベンチが載っているので引用します。

CGI.pm (3.05) via standard CGI - 16 fetches per second CGI::Simple (0.075) via standard CGI - 20 fetches per second CGI::Deurl (1.08) via standard CGI - 36 fetches per second CGI::Thin (0.52) via standard CGI - 38 fetches per second CGI::Lite (2.02) via standard CGI - 52 fetches per second CGI::Minimal (1.16, :preload) via standard CGI - 52 fetches per second CGI::Minimal (1.16) via standard CGI - 66 fetches per second cgi-lib.pl (2.18) via standard CGI - 71 fetches per second null Perl script via standard CGI - 103 fetches per second null C program via standard CGI - 174 fetches per second CGI::Simple (0.075) via mod_perl - 381 fetches per second CGI.pm (3.05) via mod_perl - 386 fetches per second CGI::Minimal (1.16) via mod_perl - 417 fetches per second null Perl script via mod_perl - 500 fetches per second

なかなか良さそうですが、このサイトが使っているさくらのサーバには入っていませんでした。ちょっと残念…

[追記 2011/10/19]
さくらのスタンダードなら、自分でインストールすることはできると思います。

シックでポップなフリーフォント Fontin

今日3つ目の記事は、Fontinというフォントです。COSUMI全体で多用させてもらっています。

Fontin :: a Free Quality Font from exljbris
http://www.josbuivenga.demon.nl/fontin.html

上品さとカジュアルさが同居した感じの、すてきなフォントですよね! 個人的にかなりお気に入りです。さらに、「Flashにも埋め込み可」という緩いライセンスがほんとありがたいです。

先のサイトでは、これ以外にもいくつかの非常にクオリティの高いフォントを公開されていますので、興味のある人はぜひチェックしてみてください。

xyzzy用のactionscript-mode

今日2つ目の記事は、xyzzy用のactionscript-modeです。これは特に説明は要りませんね!

ActionScript mode for xyzzy
http://shield.jp/~dseg/xyzzy/actionscript-mode/

機能の詳細はリンク先で調べてください。コードヒントが文字化けする場合は、こちらページの一番下を参照のこと。一応ActionScript 2.0までに対応って感じみたいですが、3.0でも重宝するんじゃないでしょうか?

余談ですが、Flash制作のためにFlash Basic 8を購入したのですが、今これを少し後悔しています。と言うのも、本当に買うべきだったのは、Flex Builder 3だったような気がしてならないんですよね… 気分が悪くなるので、Flex Builderでなにができるのかあまり調べていません(笑)。

効果音を作成するのに便利なソフトシンセ Beam2002

今日は、COSUMI制作時にお世話になったソフトなどを3つ記事にします。1つ目は、Flashで使う効果音を作るのに使用した、Beam2002というソフトウェアシンセサイザーです。かなり簡単にいろんな音が作り出せるので、これはけっこうおすすめです。

Beam2002 / Cycle of 5th
http://www.cycleof5th.com/products/beam2002/

次の3つの効果音を、このソフトで作ってみました。

石音
ボタンにマウスカーソルを乗せた時の音
ボタンをクリックした時の音

どうですか? なかなかいい感じでしょ! バリバリとか、ガラガラとか、ドスドスとか、もっと過激な音も、もちろん作成可能です。うーん、こういうソフトは、いじりだすと止まりません…(笑)

「オンライン囲碁 COSUMI」始めました

コンピュータと対局できるオンライン囲碁サイトを、GNU Goを使って作ってみました。かなり以前からやってみたかったのですが、これがなかなかたいへんで、ひとまず公開できて今は少しほっとしています。

オンライン囲碁 COSUMI
http://www.cosumi.net/

とりあえず今は、7路盤と9路盤が遊べます。初心者向けですね。基本はGNU Goなんですが、それとは別に独自に用意した定石からも手を探すので、対局ごとにいろいろな形になる分、普通にGNU Goと対局するよりは面白いかもしれません(たぶん、ちょっぴり攻撃的です)。ちなみに今現在、9路盤の定石が10908局面分入ってます(対称形を重複して数えてますので、実質的にはもっと少ないですが…)。

今後、「定石を充実させてもう少し強くすること」と「11路盤の対局ができるようにすること」の2つは、必ず実現したいと思います。他にもいくつかやってみたいことがあるんですが、自分のスキルの問題もあって(笑)、何ができて何ができないのかまだよく分かりません。とにかく、少しでも多くの人にこのサイトで囲碁を覚えてもらえればと思っています。気軽に遊んでみてください!

それから、英語のページも用意したんですが、英語がおかしかったら教えていただけると助かります。

それからそれから、7路盤や9路盤用のスペシャルGNU Goの作り方を知っていたら教えていただけるとすごーく助かります。board.hMIN_BOARDMAX_BOARDMAX_HANDICAPだけは変更したんですが(ちなみにこれは有意な差がありました)、他に何か無いでしょうか? ここはけっこう切実なんですが…

第18回世界コンピュータ将棋選手権

2008.05.02  |  将棋  |  Comments (0)

今年もこの季節がやってきました。明日5月3日から、第18回世界コンピュータ将棋選手権が開かれます。インターネット中継もあります。

http://homepage.mac.com/junichi_takada/wcsc18/

参加チーム一覧を見ていると、CPUの欄に「Xeon」とか「Core 2 Extreme」とか厳つい名前が勢揃いです。みなさん気合入ってますねー しかし、その中にさらに厳つい「独自開発」という文字が! なんですかこれは? 使用言語は「verilog」って、もう何がなんだか… そのソフトの名前は「A級リーグ指し手1号」。どうやらこれは、FPGAの将棋プロセッサということみたいです。なんだかすごいですね。とりあえず、今年はこのソフト応援することに決めました(笑)。どうかがんばってください!

Eee PCで大会に出る人とかいないんでしょうか?(笑) いたらめちゃくちゃ応援しますが…

[追記]
今年は現場のライブ映像が見られます。これはすごくいいですね。

[追記]
激指の優勝で終わりました。どのソフトも単に強いだけでなく魅せてくれますねー(特にむちゃ攻めのBonanzaは楽しかった(笑)) エキシビションで加藤さんと清水上さん相手に二つとも勝ったのにはびっくりしましたが、ライブ映像を見てた感じでは、ちょっと人間が力を出せる環境ではなかったようにも思います。来年以降、できればこのあたりを何とかしてあげてほしいです

みんなでチェス! CrowdChess

2008.04.30  |  その他  |  Comments (0)

このサイトはすごく面白いです。要するに、「みんなの意見を集約してチェスを指そう」ということです。

CrowdChess
http://www.crowdchess.com/

登録した人をふたつのチームにランダムに分け、そして対局するってのが基本のスタイルなんですが、今現在はGawain Jonesっていう人(たぶんものすごく強い)との対局をやっています。1日2手ずつ進み、先に3つ取れば勝ちのようです。似たような企画を以前どこかで見たような気もしますが、なんだか面白そうですね(しかし、いつ終わるんだ…)。

アカウントを取っていないので、普段のチーム内の様子がよく分かりませんが、「チームメイトと意見の交換ができない単純な多数決」より高いパフォーマンスが出せていれば、すばらしいですね。

うーん、もうちょっとシンプルなこれの将棋版作りたいですねー 別に囲碁版でもいいですけどね。たぶんいつか作っちゃいます! たぶん…

と、ここまで書いて今サイトを見てみると、「Top 5 Previous Moves」がTOTAL: 2Votesしか無い! なにそれー 人いないんですかね? うーんこれはだめかも(笑)。

モンテカルロなGNU Go

2008.04.18  |  GNU Go, 囲碁  |  Comments (0)

GNU Goの最新開発版、バージョン3.7.12が出ていたのでChangeLogを見ていたら、その中にこんな項目を見つけました。

new options –monte-carlo and –mc-games-per-level to use Monte Carlo UCT search on 9×9 and smaller boards

ついにGNU Goもモンテカルロだそうです! ということでさっそく実力を調べてみることにしました。

まずは、

gnugo-3.7.12.exe --monte-carlo

gnugo-3.7.12.exe

で先後を換えて50局ずつ計100局、9路盤で対戦させてみました。コミは6目半です。結果は、前者モンテカルロの63勝37敗となりました。なかなかやるなと最初思ったのですが、モンテカルロの消費時間が約13倍(!)と多いので、バランスをとるため、次に

gnugo-3.7.12.exe --monte-carlo --level 1

gnugo-3.7.12.exe

で対戦させてみました。結果は、モンテカルロの41勝59敗。しかもまだ1.2倍ほど時間を使っています。うーんまだまだだめかも… しかし、ここまでレベルを下げるのは、逆にモンテカルロがかわいそうな気がしたので、最後に

gnugo-3.7.12.exe --monte-carlo --level 5

gnugo-3.7.12.exe --level 15

で対戦させてみました。結果は、モンテカルロの59勝41敗。時間も先ほどまでとは逆に、非モンテカルロがモンテカルロの1.3倍ほど使っています(バランスとるの難しいな(笑))。

と言うことで結論、「新しいモンテカルロなGNU Goは時間をたくさん使えば結構強い」でした。本当は、–mc-games-per-levelというオプションも使って消費時間を調節できれば良かったのですが、すぐに適当な数字が出てくる気がしなかったのでやめておきました。

私は囲碁があまり強くないのであれですが、少し棋譜を見たかぎりでは、モンテカルロGNU Goの棋風は、石がガンガンぶつかって、相手の地になりそうな所にも入って行く少し攻撃的な感じでした。でもヨセは以前と比べてなんだかおかしいと思います。前半モンテカルロ、後半非モンテカルロで打ってくれたら結構いいかもしれません。まだチューニングが全然できていないみたいなので、これからに期待ですね。

現時点では、モンテカルロなGNU Goの情報はほとんどないようですが、興味のある人はこことかここを見てみてください。

South Parkの全エピソードがネットで見れる!

2008.03.30  |  動画  |  Comments (0)

人気アニメ「South Park」の全エピソードがネットで見れるようになりました。以前から、機会があればしっかり見たいなと思っていたので、すごくラッキーです。

South Park Studios
http://www.southparkstudios.com/

とりあえず1話だけ見てみましたが、かなり面白かったです。もっとブラックかと思っていたら、意外とカワイイ… 画質もこのクオリティなら十分ですね。実際のビットレートは分かりませんが、絵がシンプルで動きも小さいのでそれほど高くはないはず。もしかしたら、そのあたりもネットで公開しやすかった理由かもしれません。でも、余計なお世話かもしれませんが、せっかくなので日本人には日本人向けのCM入れればいいのにと思います。ちょっともったいないような…

しかし、こんなのまでネットで自由に見れるなんて、時代は変わったんだなあとしみじみしてしまいます。うーんすごい!

無料で遊べるオンライン麻雀 天鳳

2008.03.19  |  ゲーム  |  Comments (1)

ここ最近、「天鳳」というブラウザだけで遊べるオンライン麻雀に、はまっていました。一応有料版もあるんですが、無料でも十分楽しく遊べますし、グラフィックがきれいなだけでなく、遠くにいる人と対戦していることを忘れるような、タイムラグの少ない滑らかな操作感が本当にすごいです。

オンライン対戦麻雀 天鳳
http://tenhou.net/

ネットで麻雀なんてそんなに楽しいかなと、始めるまではずっと思っていたのですが、意外に本気のガチンコ勝負で、これはこれで面白い。私も、ばかみたいに数だけこなして、一応五段までは来たのですが、ここから先はちょっと無さそうです…(泣) 「特上」はみんな聴牌早すぎます(笑)。

ルールもいくつかある内から選べるし(サンマもあります)、強い人の対局を観戦することもできます。それに、常にかなりの数の人がプレーしているので、ほとんど待たされることなくすぐに対戦が組まれるのもGood! 麻雀を覚えたい人、強くなりたい人はぜひ一度遊んでみてください。他のオンライン麻雀は全く試したことがないですが、このサイトは決定版だと思いますよ!

* * * * * * *

天鳳ではすでにたくさん遊ばせてもらいましたが、役満以外の役の中で、「三槓子」と「混老頭」だけは、まだ見ていないような気がします(「混老頭」はちょっと自信ナシ)。両方の役ともたったの二飜っていうことが、私にはちょっと信じられません(笑)。

supermarketerを少し改良してみた

2008.03.18  |  ウェブ制作  |  Comments (0)

この前作ったsupermarketerを、陸続きに隣り合う県も考慮するように改良してみました。たぶん、少し精度が上がって自然な答えを出すようになったと思います。

http://www.perfectsky.net/cgi/supermarketer.cgi
http://www.perfectsky.net/cgi/ms.cgi (携帯用ページ)

ちなみにこのsupermarketer、私の場合は90%オーバーでどんぴしゃに当たります。うーんなかなかいい感じ!

かなりくだらないですが、よかったら一度遊んでみてください。

WordPressに引っ越して来ました その2

2008.03.08  |  WordPress, ウェブ制作  |  Comments (0)

[以前の関連記事] : WordPressに引っ越して来ました

せっかくですので、もう少しだけWordPressの話を書いておきます。

このブログは「英語版WordPress」+「さくら スタンダード」なんですが、インストール自体は前にも書いたとおり、かなり簡単でした。ひとつだけはまったのは、以前から.htaccessファイルに

DirectoryIndex index.html .ht

と書いていたので、WordPressにログインした後、403が出てページが表示されなかったことぐらいです。これはこのサイト特有の問題で、ほとんどの人は関係ないでしょう。次のように直しました。

DirectoryIndex index.html index.php .ht

ちなみに、さくらスタンダードでは、phpファイルのパーミッションは604でいいみたいです。オンラインマニュアルには755または705って書いてあるんですが、604でうちでは問題なく動いてます。

それから、これも前に書いたように、テーマは「WordPress Classic」をカスタマイズして使っているんですが、削れるところは削ってかなりシンプルに、そしてまず問題はないだろうという箇所はもうハードコーディング(!)しちゃってます。WordPressはMovable Typeと違って動的にページを作成するので、テーマが軽くないとページの表示が遅くなってイヤなんです。どうも私はこういうのって気になるんですよね… テーマの軽量化のおかげかどうかは分かりませんが、とりあえず今のところはそこそこ素早く表示されてます。WordPressで作成した自分のブログの表示が遅くて困ってるって人は、ぜひ一度使用中のテーマを構成しているファイルを調べてみてください。自分にとってはどうでもいいようなことに、汎用性が持たせてあったりします。まあ、さまざまな人に使われることを想定して作ってあるので、当然なんですが…

あと、ブログ内検索がどうやらおかしいです。WordPressとさくらを使っている同じような症状の人もいるみたい… MySQLの文字コードの関係でしょうか? あまりよく分からない/調べる気もないですが、とりあえず検索フォームははずしました。

現在このブログは、コメント可・トラックバック不可になっています(よね?(笑))。たぶんこれからもずっとこの設定で続けていくと思いますので、どうしてもこのブログの記事にトラックバックしたい人は、手動でコメント欄にリンクを張ってください(笑)。でも、本当にもうそれでいいと思う。

WordPressに引っ越して来ました

2008.03.06  |  WordPress, ウェブ制作  |  Comments (0)

ようやく重い腰を上げて、WordPressに引っ越して来ました。一度やり始めてしまえば、結構すぐに終わったんですが、その気になるまでがなかなか… しかしWordPressいいです。インストールは簡単だし、使い勝手も良くてかなり気に入りました。テーマは、最初から入っていた「WordPress Classic」という、以前のWordPressのデフォルトを元にして作ったんですが、PHPなんて何も知らない私でも、意外と分かるもんです。この程度のカスタマイズならそれほど難しくはないですね。あと、Firebugはすごい!(笑) 本当にすごい!

[以後の関連記事] : WordPressに引っ越して来ました その2