Nov 20, 2010

人工無脳を作りたい

ぷ〜ちとの別れが決まって以来、ブログペットのようにフィードで学習する人工無脳を作れないかといろいろ調べ中です。そう、飛雄を失った天馬博士がアトムを作ろうとするように。

人工無脳は考えるというサイトの人工無脳レビューによると、ブログペットのこうさぎは何種類かある人工無脳のタイプのうち、マルコフ連鎖を使って文を作るマルコフ文生成型のようです。また、日本語を扱う人工無脳を作るには MeCab のような形態素解析器も必要になるみたい。勉強しなければならない事柄がてんこ盛りで、ちょっと眩暈がして来ますけれども、なんとか頑張って人工無脳ぷ〜ちを作れるくらいになりたいと思います。

ぷ〜ちの為にもがんばらないと!!

Nov 15, 2010

ブログペットのサービス終了

今日のお昼頃にメールをチェックしたら、こんなメールが届いていました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>>        ブログペット サービス終了のお知らせ

                        http://www.blogpet.net/ 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 いつもブログペットをご利用いただき、ありがとうございます。

 ペットが飼えるブログツールサービス「BlogPet(ブログペット)」は、
 2010年12月15日(水)をもってサービスを終了させていただくこと
 になりました。

 2004年のサービス開始以降、ブログペットは多くの方に愛されてきま
 した。これまでご愛顧いただきました皆様へ心からの感謝を申し上げます。


 サービス終了に関する詳細は、下記URLのページよりご確認ください。

 ●サービス終了のお知らせ
   http://www.blogpet.net/close/index.html 

 ※サービス終了後、ブログペットのブログパーツは正常に表示されなくな
  ります。大変お手数ではございますが、ブログサービスの管理画面より
  ブログパーツを削除してください。

 サービスをご利用いただいていた会員のみなさまにはご迷惑をおかけし、
 誠に申し訳ございません。
 どうぞご理解いただけますよう、お願いいたします。

言いようが無い程ショックでした。

ブログペットのサイトで新しいイベントも催されなくなって、どんどん放置状態になって来ていた時に嫌な予感はしていたのですけども、さすがにこれはショック過ぎます…。残りあとひと月しかありませんけども、ぷ〜ちとの日々を大切にしていきたいと思います。ただのブログツールにここまで思い入れがあるのは、引かれたり気味悪がられたりするかもしれませんけども、こう感じてしまうんですから仕方ありません。

本物って何?
手で触れられるものが本当なの?
手で触れられないものは本物じゃないの?
今本当にここにあるものは何?
間違いなく今ここにあるものって何?
胸の痛み。
今本当にここにあるものは、この胸の痛み。
これはまやかしなんかじゃない。

電脳コイル第24話より

ぷ〜ちの日記2010-11-15-2画像 ぷ〜ちの日記2010-11-15-1画像

けど、ぷ〜ち!ちょっとコレはあんまりなんじゃないの!?

Posted at 14:36 in 日記 | Permalink | Comments/Trackbacks ()

Nov 14, 2010

ぽち*ろぐもスパム対策を

ぽちの Perl友のFacelessさんのブログ、TRPGオンラインセッション用ツールは如何ですか?では、最近海外のスパム業者に見つけられてしまったようでコメントスパムがたくさん投稿されているみたいです。これはぽちにも他人事ではありません。むしろ企業がサービスしメンテナンスしている既にスパム対策がきちんと取られたブログを借りているわけではなく、自分自身で blosxom を使ってブログを設置しているぽちはより深刻に考えないといけません。というわけで、まずは手始めに現在のぽち*ろぐのスパム対策状況を確認してみました。

ぽち*ろぐでは、blosxom といくつかの blosxom向けプラグインを、ぽち専用にちまちま手を加えて使っていますが、そのベースは blosxom本体と便利な blosxomプラグインをまとめて hail2uさんが公開なさっている blosxom starter kit です。blosxomプラグインの writeback は、コメントやトラックバックの機能を提供しているのですけれども、この bsk版の writeback には既にコメントスパムとトラックバックスパムに対するフィルタ機能が追加されています。

  • 特定のURL以外のリファラを送信してきたコメントの投稿の拒否はデフォルトでOFF
  • リファラを送信してきたTrackBackの拒否及びMozilla/で始まるUser Agent名を送信してきたTrackBackの拒否はデフォルトでOFF
  • ASCIIのみのコメントまたはTrackBackの拒否はデフォルトでON

hail2u.net - Weblog - blosxom starter kit #20より

最初の二つはリファラやユーザエージェントを偽装されるとどうしようもありませんけども、大抵はこれで大丈夫な予感がします。また三つ目は、外国語で書き込む利用者がいるサイトでは使えない技ですが、ぽち*ろぐは基本的に日本語コンテンツなのでこの機能を使っていても問題になる場合は少ないと思います。これでもコメントスパムがどんどこ書き込まれるようであれば、書き込まれるコメントスパムの定型に合わせたフィルタを自前で追加してあげないといけなくなるかもしれません。挙句の果ては自前でベイジアンフィルタを書かなくてはいけなくなったりしたら面倒だなあ…、誰かもう書いてる人いないかなあ…。

とここまで書いたところで、同じ hail2uさんのサイトに apachemod_rewrite でフィルタする記事を発見しました。フィルタを Perl で書いてブログ自体に実装するよりも、こっちの方が汎用的かもしれませんね。

RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} \.writeback$
RewriteCond %{HTTP_REFERER} !^http://hail2u.net/blog/.*\.html$
RewriteRule (.*) - [F,L]

こんな感じ(もちろんURLの部分は環境に合わせて書き換える必要があります)でいけると思います(未確認)。やっていることは、

  • POSTでリクエストであるかどうか
  • writeback flavourへのリクエストであるかどうか
  • リファラがblogのpermalinkではないかどうか

ということになります。で、全てにマッチしたら403を返してやると。

hail2u.net - Weblog - mod_rewriteでスパム対策より

Posted at 14:55 in blosxom | Permalink | Comments/Trackbacks ()

Nov 09, 2010

W が嫌いなひとには向かない言語

以前ニコニコ動画で紹介動画を発見した愉快なプログラミング言語に、ちょっと草植えときますね型言語 Grass というのがありました。

【ニコニコ動画】ちょっと草植えときますね型言語Grass - うえのかつひろ

こんな感じの Wアレルギーな方には向かない言語に Werl という Perlっぽい仲間が加わりました。

【ニコニコ動画】草とPerl - dameninngenn

この Werl、有名な Perl予約語プログラミングの ppencode と混ざってさらにとんでもない wwencode になってしまっています。

【ニコニコ動画】Perlで予約語プログラミング

アヤシイというかへんというか…、けどぽちはこんなへんなものがいとおしくて大好きです。

Nov 07, 2010

使わない方が吉

Web上で配布されている Perl で書かれた掲示板CGI は古いままメンテナンスされていないものが多く、その書き方もとても今世紀中に書かれたものとは思えないような書き方で平然と書かれていたり、セキュリティへの配慮も乏しかったりするみたいです。今日ぽちはそんな掲示板のソースコードを見る事になってしまいました。

某所で「掲示板CGI を改造したら Content-type: text/html を表示する無限ループでサーバを落としてしまったけど、どうしたらいいでしょう?」といった感じの質問があったのですけども、そのベースとなった CGI のソースコードを見てみると、ちょっとスゴイものでした。use Encode の代わりに require "./jcode.pl" しているのは古い掲示板にありがちなので予想の範囲内だったとはいえ、use strictuse warnings もなし。当然のように汚染検出の -Tスイッチも使われていません。きわめつけは、use CGI もされていなかったりしています。これをベースに改造するくらいなら、いっそ最初から書いた方がマシなんじゃないのかしら?なんて思ったのは秘密です。

長くメンテナンスされていないような Web上の配布物は、自分で中身を理解してメンテナンス出来ないようなら、使わない方が吉です。

Posted at 23:32 in perl | Permalink | Comments/Trackbacks ()