July 2011 Archives

サッカー女子ワールドカップの決勝はPK戦の末に日本が勝ったのだけど、毎回「PK戦よりましなタイブレークルールってないのか」と思ってしまう。

タイブレークというのはいろいろな競技に採用されていて、時間短縮のために競技本来の要素の一部を特に強調した形になるのはある程度仕方がない。テニスなら一本の価値がすごく重くなるし、野球なら「チャンスを作る」というところがすっ飛ばされる。

しかしそれにしてもPK戦はひどすぎるんじゃなかろうか。そもそも普通の試合中にPKなんてめったにないのに、それを競技本来の要素の代用として使うのは無理がありすぎる気がする。

ということで、自分でPK戦に代わるタイブレークルールを即興で考えてみた。例えばこんなのはどうだろう。

  • 攻撃側は、ペナルティアークからフリーキックを蹴る。攻撃側守備側とも全員プレイに参加してよい。
  • ボールがペナルティエリアから出たら攻守交代。守備側が出しても交代。
  • 先攻後攻で1回ずつ攻撃して、ゴールに差が付いた時点で決着。差が付かなければサドンデスで続ける。

これだけだとなかなか決着しないかもしれないので、バランス調整のバリエーションも考えてみた。

  • プレイに参加できる人数を減らす。攻守交代の条件が守備側有利なので、守備側の人数を攻撃側より少し減らすとちょうどいいかもしれない。
  • ペナルティエリアの両サイドのエリアも利用可能にする。これを採用するなら守備側も同人数かな。

というか、こんなこと他の人も考えていそうなのだけど、もっと面白いルールないかな...。

私のメール環境は2年ぐらい前にローカルのMH形式からサーバーのIMAP形式に移行したのだけど、過去のメールをIMAP形式に変更するのが面倒で放置していた。

しかしふと思い出したので今日調査...MH形式フォルダをMaildirに変換というそのままのがあった。サーバーで使っているのはcourier-imapなのでちょうどいい。と思って早速実行してみたのだけど。

> ruby mh2maildir.rb src dest
./maildir.rb:63:in `create_maildir': maildirmake (RuntimeError)
        from ./maildir.rb:36:in `initialize'
        from mh2maildir.rb:23:in `new'
        from mh2maildir.rb:23

と言われてしまう。Rubyわからないのでそもそも何が起こっているのかが分かるのにもちょっと苦労したのだけど、courier-imapに入ってる"maildirmake"というツールを呼び出しているらしい。今回はローカル環境でメール変換して結果だけをサーバーに持っていきたかったのでこれはちょっと困る。

これだけのためにcourier-imapインストールするのもいまいちだし、maildirmakeの互換品を作るのも面倒だし、ということで。

--- maildir.rb.orig     2011-07-16 03:42:57.000000000 +0900
+++ maildir.rb  2011-07-15 18:25:36.000000000 +0900
@@ -57,10 +57,10 @@

   private
   def create_maildir(maildir)
-    if test(?e, maildir) then
-      raise "#{maildir}: Maildir already exists"
-    end
-    system(*%W<maildirmake #{maildir}>) or raise "maildirmake"
+#    if test(?e, maildir) then
+#      raise "#{maildir}: Maildir already exists"
+#    end
+#    system(*%W<maildirmake #{maildir}>) or raise "maildirmake"
   end

   def tmpfile(mh)

としてmaildirmake関係を潰してしまって、

.folder: ../maildir.rb:47:in `initialize': No such file or directory - dest/.folder/tmp/1310758575.M117045P10412_0.local (Errno::ENOENT)

とか言われたらその都度自力でディレクトリを作る、というしょぼい方法で対応。今回は数が少ないからこれで充分。

出来たファイルはサーバーに持っていって、Thunderbirdで動作確認。ちゃんと変換できてた。これで懸案が一つ減った。

堺市立図書館蔵書検索

| 2 Comments

久し振りにOpenSearchの設定ファイルを書いた。

以前堺市立図書館の蔵書検索ファイルを書いたのだけど、サイトリニューアルされて動かなくなっていたので修正。

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>堺市立図書館</ShortName>
  <Description>堺市立図書館</Description>
  <InputEncoding>utf-8</InputEncoding>

  <Url type="text/html" method="post" template="https://www.lib-sakai.jp/licsxp-opac/WOpacMnuTopInitAction.do?WebLinkFlag=1&amp;moveToGamenId=tifschcmpdpre&amp;SchType=1">
    <Param name="chkflg"         value="nocheck" />
    <Param name="loccodschkflg"  value="nocheck" />
    <Param name="langcodschkflg" value="nocheck" />
    <Param name="currentSubSystem" value="0" />
    <Param name="kensaku_keyword" value="{searchTerms}" />
    <Param name="junlCode" value="" />
  </Url>

  <moz:SearchForm>http://www.lib-sakai.jp/</moz:SearchForm> 
</OpenSearchDescription>

ちょっと前にActivePerlを5.8.8ベースから5.10.1ベースにバージョンアップしたのだけど、それ以降コマンドラインからcorelistとか使うと:

perl58.dllが見つからなかったため、このアプリケーションを開始できませんでした。

というエラーダイアログが出るようになってしまっていた。ただ、ダイアログが出た後でも続行すれば処理自体は正しく終了する。「プログラムの追加と削除」から一度アンインストールして再インストールとかしても変わらず。

全く動かないわけでもないし、ということでしばらく放置していたのだけど、さすがにうっとうしくなってきたので調査。全然気付いてなかったのだけど、実は「プログラムの追加と削除」でアンインストールしても、C:\Perl以下には結構ファイルが残っていたらしい。

ということで、一旦アンインストールした後エクスプローラでC:\Perl以下を削除。それから改めてインストール。無事症状は出なくなった。これは気付かなかった。

Squeezeでとりあえず問題ないかなあ、と思ったら、キャッシュサーバにしていたpdnsdがlocalhostからしかアクセスできなくなっていた。

--- /etc/default/pdnsd.orig     2011-07-08 19:27:10.000000000 +0900
+++ /etc/default/pdnsd  2011-07-08 19:32:16.000000000 +0900
@@ -1,6 +1,6 @@
 # do we start pdnsd ?
 START_DAEMON=yes
 # auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
-AUTO_MODE=recurse
+AUTO_MODE=
 # optional CLI options to pass to pdnsd(8)
 START_OPTIONS=

これで解決。アップグレード中に何も言われなかった気がするんだけどなあ。

Debian Squeezeが出てだいぶ経ってるけど、そろそろやらなければ、ということでまずはローカルサーバーをSqueezeにした。

問題になったのは2ヶ所。

- このマシンのNICはe100なので、そのままだと動かない。`apt-get install firmware-linux-nonfree`する。これは知らないとはまってたと思う。先人に感謝。しかしこれはもうちょっとわかりやすい警告出してもいいんじゃなかろうか。一応update-initramfsでなんとなくメッセージは出てるけど...。
- update-apt-xapian-indexがCPUを食い尽くす問題。検索したら[Ubuntuのフォーラム](https://forums.ubuntulinux.jp/viewtopic.php?pid=54268)がヒットして、どうやら要らなさそうなので`apt-get remove apt-xapian-index`で処理。

後はsysv-rcでいろいろ言われたけど無視。ちゃんと動いてるからいいや。

別館開設

| No Comments

Web日記は別の場所でやっているのだけど、もうちょっとブログっぽいことはこちらに書いてみようかと。不定期更新。