2010 3/7

(本文とは無関係)

 Google IMEに対応。これまでも10000語ごとに分割すればそのまま使えたが、あらかじめ分割したバージョンを追加。

 元からネット用語に強いGoogle IMEのことなので、およそネット用語に関しては最高の環境になったかも。

 サジェスト機能も軽いので、普通に入力して変換することはあまりないであろう長めの項目も、比較的有効に使える。使えるというか、使えないけど笑える。

 プロパティでサジェスト9個にして「あいすべき」とか「びょういんが」とか入力するとそれだけでカオスな世界に突入する。

 ただし、問題がひとつ残っている。Google IMEでは、キーボードから入力されるのはカタカナのヴなのに、辞書ファイルで読みを「ヴ」で入れていても、インポート時に「機種依存文字の一文字でひらがなのう゛」に変換されて登録されてしまう。

 そのため「ヴ」が絡む単語は、登録しても結果的に変換できない。インポートの仕様が変らない限り、こちらで回避する方法はないように思われる。気になる人はGoogleの然るべきところに要望を出しておいてくれるといいかも。

おまけ

 ニコニコと日本語つながり。

by 木戸孝紀 tags: ブックマークに追加する

2009 11/8

プログラミング言語 Ruby

 一昨日のパズル。もう終わっちゃってるけど、乱数でのゴリ押しだけでは芸がなさ過ぎるでしょう常識的に考えて……ということで、ちょっと改良した。

 互いに行き着けないノードの数をスコア(当然低い方が良い)として、ステップごとに上位1/4だけ残してそれを4倍に複製。二本のエッジをちょん切ってつなぎ替える。

 N=4で15個の解はわりとすんなり見つけられるようになった。


15個のノード。
30本のエッジ。
0のスコア。
0:[9, 12, 5, 8]
1:[3, 9, 11, 6]
2:[5, 11, 13, 12]
3:[1, 5, 10, 13]
4:[7, 5, 14, 6]
5:[2, 4, 3, 0]
6:[14, 12, 1, 4]
7:[4, 11, 9, 10]
8:[10, 14, 11, 0]
9:[13, 0, 7, 1]
10:[8, 12, 7, 3]
11:[2, 7, 1, 8]
12:[6, 10, 0, 2]
13:[9, 14, 2, 3]
14:[6, 13, 8, 4]

 まだやってないけど、パラメータ設定とかける時間次第ではN=5もいけるかもしれん。

11/9追記

 ちょっと時間かかったけどN=5で24個いけた。populationは800に設定。


24個のノード。
60本のエッジ。
0のスコア。
0:[6, 11, 7, 16, 13]
1:[15, 3, 13, 4, 18]
2:[6, 5, 14, 3, 23]
3:[1, 7, 20, 2, 11]
4:[19, 13, 17, 1, 5]
5:[2, 16, 4, 12, 10]
6:[2, 0, 23, 15, 19]
7:[17, 21, 0, 3, 10]
8:[12, 10, 23, 13, 20]
9:[14, 20, 17, 15, 16]
10:[8, 22, 15, 7, 5]
11:[12, 0, 22, 3, 17]
12:[8, 11, 21, 15, 5]
13:[14, 4, 1, 8, 0]
14:[13, 9, 21, 2, 22]
15:[1, 6, 9, 12, 10]
16:[20, 0, 5, 18, 9]
17:[23, 7, 4, 9, 11]
18:[23, 21, 1, 22, 16]
19:[20, 22, 4, 6, 21]
20:[19, 16, 9, 3, 8]
21:[7, 18, 14, 12, 19]
22:[19, 10, 11, 14, 18]
23:[18, 17, 8, 6, 2]

おまけ

 もうすぐCDが出るらしい。

by 木戸孝紀 tags: ブックマークに追加する

2009 11/6

科学がきらわれる理由

 ううむ、地下猫さんが『科学がきらわれる理由』をおすすめされた背景では、そんなこと考えていたのか。これはちょっと予想外だった。

 確かに『科学がきらわれる理由』は素晴らしい本だが、ダンバー数自体は「まあそりゃ限度のある要素の集まりには何かしらの限界はあるだろうねえ」ぐらいの受け取り方をしておけばいいものだろう。

 少なくとも現時点で、具体的にその数に何かがある・その数から何かが言えると考えるのは、百匹目の猿現象みたいな純然たるオカルトとは異なるものの、六次の隔たりレベルの通俗科学でしかないと思うなあ。

 まあそれはそれとして、

平面上にいくつかの点がある。点と点が線で結ばれている。1本任意の1点から出ている線の数はN。任意の2点を取り出すと、その2点は直接、あるいは、別の1点を経由してつながっている。このような状況が可能な点の個数の最大値は?

 という問題そのものには久々にパズル欲が刺激された……と言いたいところだけど、こりゃパズルってレベルじゃねーぞ!

 直感で根拠はないが、M、Nが一般の場合の解を求めるのは、数学上の未解決問題ではないかと思う。具体的な数にしたってN = 150なんてとてもとても。

 かと言って、一応数学野郎・プログラム野郎の端くれのつもりなのに手も足も出ずに終わるのは悔しいので、小さい数ぐらいでなら遊べるように、ゴリ押しで解を探すスクリプトを書いた。

 見つからないと延々と探し続けるので、諦めるときはCtrl+Cで止めて下さい。(実行できる人なら止め方も知ってると思うけど。)

 N = 3の時の最大個数は10のようだ。理論上 N^2+1 を上回ることはありえないのでN = 3については解決。


10個のノード。
15本のエッジ。
[0, 1, 2, 7]
[1, 0, 9, 6]
[2, 0, 5, 3]
[3, 2, 8, 6]
[4, 6, 5, 7]
[5, 2, 4, 9]
[6, 1, 3, 4]
[7, 0, 4, 8]
[8, 3, 7, 9]
[9, 1, 5, 8]

 N = 4の時は13まで、


13個のノード。
26本のエッジ。
[0, 6, 11, 9, 4]
[1, 6, 11, 12, 10]
[2, 8, 11, 6, 4]
[3, 5, 4, 7, 12]
[4, 0, 2, 3, 12]
[5, 3, 8, 6, 7]
[6, 0, 1, 2, 5]
[7, 3, 5, 11, 9]
[8, 2, 5, 10, 9]
[9, 0, 7, 8, 10]
[10, 1, 8, 9, 12]
[11, 0, 1, 2, 7]
[12, 1, 3, 4, 10]

 N = 5の時は16まで、


16個のノード。
40本のエッジ。
[0, 5, 10, 8, 9, 1]
[1, 3, 15, 11, 0, 14]
[2, 10, 12, 11, 4, 3]
[3, 10, 6, 1, 4, 2]
[4, 8, 3, 15, 9, 2]
[5, 15, 0, 7, 10, 14]
[6, 10, 3, 13, 7, 8]
[7, 15, 13, 5, 6, 12]
[8, 4, 0, 6, 14, 11]
[9, 15, 12, 4, 13, 0]
[10, 3, 6, 2, 0, 5]
[11, 2, 13, 14, 1, 8]
[12, 9, 2, 13, 14, 7]
[13, 6, 7, 9, 12, 11]
[14, 5, 12, 11, 8, 1]
[15, 9, 5, 1, 7, 4]

 N = 6の時は20個まで発見。(まだあるかも。)(追記:N=4で14はあるみたい。(2009-11-04 – imo758の日記


20個のノード。
59本のエッジ。
[0, 18, 1, 5, 8, 17, 13]
[1, 7, 0, 10, 4, 16, 14]
[2, 19, 16, 10, 5, 13, 6]
[3, 7, 9, 11, 19, 16, 13]
[4, 12, 18, 16, 19, 1, 11]
[5, 7, 8, 9, 18, 2, 0]
[6, 15, 10, 17, 2, 12, 9]
[7, 9, 3, 5, 1, 15, 17]
[8, 5, 12, 0, 11]
[9, 18, 7, 3, 5, 12, 6]
[10, 12, 15, 2, 6, 13, 1]
[11, 3, 19, 15, 4, 16, 8]
[12, 10, 4, 8, 6, 9, 14]
[13, 19, 10, 2, 18, 0, 3]
[14, 15, 18, 1, 12, 19, 17]
[15, 14, 17, 6, 7, 10, 11]
[16, 17, 2, 4, 1, 11, 3]
[17, 15, 16, 7, 6, 14, 0]
[18, 9, 0, 4, 5, 14, 13]
[19, 2, 4, 13, 11, 3, 14]

 もちろん完全ランダムなので、見つからなくてもない証明にはならないが、見つかった解は正しい(はず)。

追記

 やっとまともにグラフ理論っぽい説明が来てくれた。面白い。

 N=4は15まであるのかよ。やはりN=4で早くもゴリ押しは通用しなくなるみたいだな。まあ今回はN=3の10を見つけるスクリプトがさっと書けたのと、一般には未解決だろうと一目で当たりがつけられたということで個人的には満足しておこう。

おまけ

 プログラミングつながり。これは楽しい。

by 木戸孝紀 tags: ブックマークに追加する

2009 10/31

(本文とは無関係)
 ふと思い立って作ったら、かかった時間の割に意外と効用があったので公開。


#!/usr/local/bin/ruby
#-*- coding: Windows-31J -*-

SOURCE = 'training.txt'

puts "トレーニングを開始します。\n\n"

File.open(SOURCE){|file|
  file.each do |line|
    line.chomp!
    next if line.size == 0

    print line
    gets
    puts "...Done\n\n"
  end
}

puts "おつかれさまでした!!"

スクワット足を閉じて 10
スクワット足を普通に開いて 10
スクワット足を大きく開いて 10

アレイ交互前上げ 10
アレイ上持ちあげ 10
アレイ背筋上げ 10

アレイ内上げ 10
アレイ前持ちあげ 10
アレイ横持ちあげ 10
アレイ後ろ持ちあげ 10

手を押しあう前で 10秒
手を引き合う前で 10秒

首を前から押す 10秒
首を後から押す 10秒
首を左から押す 10秒
首を右から押す 10秒

腹筋 10
背筋 10
腕立て 10

もも上げ 10
尻蹴り 10
足を横開き左 10
足を横開き右 10

 こんなメニューを作っておけば一行ずつ表示してくれる。それだけのプログラム。

 ちょっとしたことなのだけど、単に表を見ながらやるより能率上がるのよね。

おまけ

 トレーニング→スポーツ

by 木戸孝紀 tags: ブックマークに追加する

2009 7/21

 最近読んだ本、またはずっと紹介したいと思っていた本の中から、個別エントリにするタイミングがなさそうなものを、まとめて一挙紹介。

 ★は1-5個でオススメ度。人に薦める価値がまったくないと思うものはそもそも取り上げないので、1個でもつまらないという意味ではない。

『自分をつくりだした生物―ヒトの進化と生態系』★★★

 ジョナサン・キングドン著。先史人類とそのテクノロジーが環境といかに相互作用してきたかという観点からの本格的な人類学本。

『BEST SOFTWARE WRITING』★★★

 Joel Spolsky編。おなじみJoelが編集したソフトウェア関係の良記事集。

『人間の安全保障』★★

 アマルティア・セン著。とても薄い新書。いい人だということはわかったが、さすがに薄すぎてこれだけでは何とも。もっと別の本も読んでみようと思うぐらいには面白かった。

『知的複眼思考法―誰でも持っている創造力のスイッチ 』★

 苅谷剛彦著。amazonレビューなどでは非常に評価が高かったが、そこまでとは思えなかった。すでに類似の本をけっこう読んでいるからだろうか?

『ルドルフ・シュタイナー―その人物とヴィジョン』★

 コリン・ウィルソン著。地下猫さんのところで小耳に挟んだので。まあ悪人ではないのだろうけど、私には普通のオカルト主義者としか見えなかった。

『紅一点論―アニメ・特撮・伝記のヒロイン像』★★★

 斎藤美奈子著。かなり昔読んでいて、最近どこかで見かけて思い出した。なかなか良い本だったと記憶している。

『地に呪われたる者』★

 フランツ・ファノン著。ここ経由で読んだ。つまらなくはなかったが特にこれといったことは。

おまけ

 今月はトレーニングが流行ってたようだがこれ以上はもう出んだろ。

by 木戸孝紀 tags: ブックマークに追加する

2009 5/31

 最近読んだ本、またはずっと紹介したいと思っていた本の中から、個別エントリにするタイミングがなさそうなものを、まとめて一挙紹介。

 ★は1-5個でオススメ度。人に薦める価値がまったくないと思うものはそもそも取り上げないので、1個でもつまらないという意味ではない。

『パノラマ島綺譚』★★★★

 江戸川乱歩:原作/丸尾末広:画。これ以上ありえないぐらいはまってる組み合わせ。

『顔は口ほどに嘘をつく』★★

 ポール・エクマン著。これまた安そうな邦題になってしまっているが、原題は“EMOTIONS REVEALED : Understanding Faces and Feeling”(『明らかにされる情動 顔と感情を理解する』)で、顔の筋肉と感情の関係についての相当にハードコアな学術本。

『累犯障害者』★★★★★

 山本譲司著。元衆議院議員で服役経験を持つという著者によるドキュメンタリー。これはすごい。他の本も読んでみたくなった。

『想像の共同体―ナショナリズムの起源と流行』★★★★

 ベネディクト・アンダーソン著。ナショナリズムについての古典的名著。共同体意識の今昔。

『まつもとゆきひろ コードの世界~スーパー・プログラマになる14の思考法』★★

 まつもとゆきひろ著。面白いか面白くないかと言えば面白いが、やや内容が広すぎるか。Ruby使いかMatz本人のファンならばおすすめ。

『恋人選びの心―性淘汰と人間性の進化』★★★★★

 ジェフリー・F.ミラー著。人間の言語や精神は、孔雀の尾羽と同じく性淘汰における適応指標形質なのだという話。これは非常に重要なのでいずれ詳細に紹介する。

おまけ

 懐かしFlashもひとまとめ。しかし、こういうのは時代背景を外れると面白さも失われてしまうな……。

by 木戸孝紀 tags: ブックマークに追加する

2009 5/9

ATOK 2008 for Windows [プレミアム]

 このコラムと動画を見てこれは便利になると思ったので作ってみた。やはりものすごい便利。ニコニコ動画関係のみならず、アイマス・東方・VOCALOID・その他エンターテイメント関係のブログ等を書いている人なら、もっと便利に使えると思う。

ダウンロード

 nicoime.zip (最新更新時間確認)

使い方

 nicoime.zipを解凍すると以下のテキストファイルが入っています。

  • nicoime_atok.txt (ATOK用)
  • nicoime_msime.txt (MS-IME用)
  • nicoime_googleime_〜.txt (Google IME用)

 お使いのIMEに対応するファイルを読み込ませて下さい。

おことわり

  • zipの解凍方法および、テキストファイルをIMEに登録する方法については、そのIMEのヘルプを見るなりググるなりして調べて下さい。
  • 登録の際弾かれてしまう単語がどうしてもいくらか出ますが仕様です。
  • 当然ですが、データの権利は有限会社未来検索ブラジル・株式会社ニワンゴにあります。万一運営にやめれ言われたらやめます。
  • もちろん、アイデアも元の動画の人そのままです。実作業数十分のスクリプトで出しゃばるのも何なので、動画作者の気が変わって公開するようならアイデア尊重して引っ込みます。大百科の掲示板で了解いただきました。

解説

  • ニコニコ大百科からrubyスクリプトで自動生成した辞書。
  • 読みが一文字の項目は無視している。
  • 「……の一覧」「……のサムネ画像集」など辞書っぽくない項目を無視している。
  • 誤変換指摘のためのリダイレクト項目をそのまま取り込むと誤変換してしまうという問題は対策ずみ。具体的には「同一の読みが他に存在するリダイレクト項目は出力しない」ことで対応。
  • その他幾つか思いつきで操作を入れている。
  • 品詞分けはどう考えても無理なので、全部「固有一般」または「固有名詞」になっている。経験上IME登録単語の品詞分けにそこまでの重要性はないし、実際に固有名詞がほとんどなので大きな問題はないはず。
  • MSIME? 何それおいしいの? ATOK買いに走れ!-

お願い

  • 現実的に可能な改善点や要望などありましたらお気軽にどうぞ。導入するかもしれません。
  • 定期的に最新版を作る仕組みになっていますので、ニコニコ大百科のHTMLの記述方式が変わったりすると壊れる可能性が高いです。明らかに壊れていると思われる状態を見かけたら、メールなりコメントなりで知らせていただけるとありがたいです。

2009/11/18追記

  • 読み一覧ページへのページャ導入に対応しました。
  • 取得ページ数が72程度で済んでいたところが、1550程度と大幅に増えてしまったため*1時間的に負荷分散することにしました。
  • わざわざ変更をお知らせいただきグニャラくん ★あいつがいまーすありがとうございます。
  • 「アリガトウゴザイマス」→「あいつがいまーす」の変換を排除しました。

2010/03/07追記

  • Google IME用の辞書を追加しました。
  • 日時のみ・数字のみなどの項目を排除しました。
  • 他いくつかの微調整を追加しました。

*1:もちろん個々のページは小さくなっているものの。

おまけ

 kamS(なぜか変換できた)さん新作。超級者向けと呼ばれるだけのことはあるセンス。

by 木戸孝紀 tags: ブックマークに追加する

2009 4/22

More Joel on Software

 『Joel on Software』の続編。webですでに読んだ記事や、これまで読んだ他の本と被る内容もかなりあったが、やはりどれも最高に面白くてためになる。

 特によかったのはハンガリアン記法の話とソフトの差別化戦略の話とカスタマーサポートの話かな。IT関連の仕事をしている人や情報系の学生には絶対おすすめ。

関連書籍

おまけ

 ハンガリアンとITというと選択の余地なし。

by 木戸孝紀 tags: ブックマークに追加する