ドM丼の恐怖

一昨日の晩、蒲田の「吉祥寺どんぶり」という店に入った。前々から「イカレタ店だな」と思っていたんだが、正真正銘イカレタ店だった。メニューも店のたたずまいも、どう見てもイカレポンチなのだ。店に入り券売機の前でどれにしようか考える。ふと目に入っ…

HTML::Feature 3.00 リリースしました

前回のエントリで案内した通り、perlの本文抽出モジュール「HTML::Feature」を全面的に作り直し、リリースしました。すでにCPANにも反映されています。今回の改修で、抽出精度が向上し、且つ全体的にも高速化がなされました。ヤタ! HTML::Feature - Extract…

本文抽出モジュールを作り直す

2年ほど前にHTML::FeatureというPerlの本文抽出モジュールを書きました。 こいつはブログやニュース記事から「本文らしき箇所」を適当に推測して抽出してくれるモジュールでして、リリースした当時はライバルもいなかったので、ブログなどでは結構反応がよ…

C++ Priority Queueについて

なぜか突然プライオリティキューの実装方法を知りたくなってしまい、C++のSTLを少しだけ勉強しました。C++は入門書を何冊か読んだ程度なんで、ド素人ですが、頑張ってSTL書いてみました。 #include <iostream> #include <queue> #include <map> class MyData { private: int age_; </map></queue></iostream>…

cpanコマンドで古いバージョンのモジュールを楽にインストールする方法

CPANにあがってるApp::Daemonというのを試してみたくて、cpanコマンドでインストールしようとしたらエラーが出てしまいました。Proc::ProcessTableという依存モジュールの関連でこけてるようです。エラーログをチェックしてみたら「undefined symbol: pthrea…

クラスタリングツール「bayon」を試してみた

夜中の3時半過ぎですが、久しぶりになんか書こうと思います。ちょっと前にmixiのfujisawaさんという方がすごくナイスなソフトウェアをリリースしてくれました。 「軽量データクラスタリングツールbayon」 http://alpha.mixi.co.jp/blog/?p=1049 今までにもCL…

Hoppy、中おかわり

Hoppyいいよ:maaash.jp Hoppyいいシリコンバレー行った時に参加した Flash Game Summit とかでも、FITC Toronto 2009でも、マルチプレーヤーFlash熱そうだったので自分の周りではきてる。 ということで、Flash XMLSocketサーバ「Hoppy」を奇跡的にも気に入っ…

汎用的なXMLSocketサーバを書いた

FlashのXMLSocketサーバ「Hoppy」をリリースしました。 Hoppy - Flash XMLSocket Server http://github.com/miki/Hoppy/tree/master githubにあげてあります。そのうちCPANにも反映されると思います。HoppyはFlashのXMLSocketサーバのperl実装です。いわゆる…

ベイズを学びたい人におすすめのサイト

ベイジアンフィルタとかベイズ理論とかを勉強するにあたって、最初はなんだかよくわからないと思うので、 そんな人にお勧めのサイトを書き残しておきます。 @IT スパム対策の基本技術解説(前編)綱引きに蛇口当てゲーム?!楽しく学ぶベイズフィルターの仕…

インターネット「合わせ鏡」の実験

前回の実験ネタが好評だったので、調子にのって実験第2弾です。 今回の実験はインターネット「合わせ鏡」です。 すげーくだらないので真剣に読まないで下さいね。 準備 まずPCカメラ搭載のパソコンを用意します。 自分は家ではmacbookを使ってますが、ディ…

芸能人の相関関係を探ってみるスクリプト

ちょっとした実験をしてみました。芸能人の相関関係を機械的に探索してみます。具体的には「○○というタレントと関係が深い芸能人は?」といった、芸能人にフォーカスした類似検索みたいな実験です。技術的には「潜在的意味インデキシング」(Latent Semantic…

Locality Sensitive Hashing に挑んでみた

久々のエントリです。 Locality Sensitive Hashing を perl で使うためのモジュールを書いてみました。Algorithm::LSHと名付けました。先ほどDeveloper ReleaseとしてCPANにあげましたが、反映されるまで時間かかるので、興味ある方はcodereposからみてくだ…

外人に言われたのでもっと愛を注ぐことにする

POE::Component::RemoteTailというものがありまして、これは昨年の夏前後に何となく遊びで作ってCPANに上げていたモジュールです。 POE-Component-RemoteTail - tail to remote server's access_log on ssh connection http://search.cpan.org/~miki/POE-Com…

潜在的意味インデキシング

id:naoyaさんやたつをさんなどの超有名人な方々が以前から実施されている「IIR輪読会」というものがありまして、どうやら今回は第18章の "Matrix decompositions and latent semantic indexing"を輪読したようです。http://d.hatena.ne.jp/naoya/20090208 ht…

Kamaitachi入門(その5)

Kamaitachi の追っかけ記事の第5回目です。いいかげんねちっこく人のソースを追いかけるのもいかがなものか、と感じつつも、id:ZIGOROuに励ましてもらったので、もう少し続けます。さて今回はKamaitachi::IOStreamを攻めます。Kamaitachi::IOStreamとはRTMP…

SocialWeb勉強会vol.1 に(飲み会だけ)参加してきた

1昨日のことですが、SocialWeb-japanの第1回勉強会に行ってきました。SocialWeb-japanとはagektmrが音頭をとって立ち上げた「OpenStack(OpenIDやOAuth, OpenSocial, PortableContacts, etc.)やFacebookを中心とした、ソーシャルウェブにまつわる技術の情報…

RTMPパケットの仕組み

Flash Media Serverで使われているRTMPプロトコルのことを知りたくてOpenSourceFlashにのってる「Mick’s Breakdown of RTMP」を訳しながら自分でも試してみました。まずはRTMPサーバを動かしているサーバでtcpdumpしてみてます。 tcpdump -s 1600 -x -i eth0…

Kamaitachi入門(その4)

Kamaitachi コードリーティングの4回目です。前回はKamaitachi::Sessionで接続確立の処理(HandShake)をすることろまで読みすすめました。今回はKamaitachi::Sessionの続きです。HandShakeが成功するとSessionのhandlerに&handle_packetという関数が登録さ…

Kamaitachi入門(その3)

ちょっと間が空いてしまいましたが、Kamaitachiのコードリーディング第3弾です。今回はユーザセッションを管理するKamaitachi::Sessionを見て行きます。ですがその前に、Kamaitachiについて改めておさらいしますよ。Kamaitachiとは、typesterさんとid:hide-…

Kamaitachi入門(その2)

前回に引き続きperlのRTMP実装であるKamaitachiのコードリーディングです。今回はKamaitachi本体のソースコードを見ていきます。lib以下のモジュールファイルの構成 [miki@vmware kamaitachi]$ tree lib lib |-- Kamaitachi | |-- IOStream.pm | |-- Packet …

Kamaitachi入門

Kamaitachiとは、typesterさんが鋭意開発中のperlによるRTMPサーバの実装( =~ Flash Media Server)です。RTMPサーバのオープンソース実装としてはRed5やWowza、RubyIzumiなどが知られていますが、「perl使いだったらKamaitachiだよ!」ということで、年の…

gitのインストールからgithubの登録まで

最近人気のgithubを試してみました。gitさわるの初めてだったのでインストールするところから書いて行きます! まずはgitのインストール 触ってるサーバがCentOS 5.1なので、yumってみることにしました。/etc/yum.repos.d/CentOS-Base.repo に以下を追記。 […

DBIでbindした後のSQL文を引っ張り出す方法

会社で隣の席にすわってるKさんから「DBIでexecuteする時に色々な値をbindするじゃないですか。その後で実際に投げられたSQL文を引っ張ってくる方法ないんですか?」と質問されちゃいました。そう言えばDBIx::Classとかだと環境変数でなんかセットするんだっ…

perlとactionscriptでオンラインチャットなブログパーツを実験中!

ブログ専用のオンラインチャットを「ブログパーツ」として実験的に作ってみました。本ブログの右サイドに貼付けています。仕様とか機能とかデザインとか、そこら辺の難しいことは全然真剣に考えていない状態でして、本当に単なる「実験」です。正直言ってま…

Q4Mをソースからインストールしてみたメモ

mysql5.1もようやくStableになったことですし、うれしいので話題のQ4Mをインストールしてみました。今回はソースからコンパイルしてみました。 以下、その際のインストールメモです。 今回インストールするのは各々このバージョンです。 * mysql-5.1.30.tar.…

「日本語テキストを分類するベイジアンフィルタ」を簡単につくるyo

数週間前の話になりますが、「はてブのリニューアル会見」の記事を読んでいたところ、はてブにも「自動カテゴライズによる記事分類」の機能が搭載されるとか。。。同じようなタイミングで「似たようなモノ」というか「ほぼ同じようなモノ」を作っていたので…

名義尺度間の連関係数を算出するperlモジュール

データマイニングを行う際に、適当な2つの変数にどれだけの相関関係があるのか確かめたくなったとします。それらのデータはいわゆる「名義尺度」なデータ(地域別の野球チームの好き嫌いなど)だとしましょう。名義尺度なデータ間における連関係数と言えば…

手軽に関連語を取得するモジュール

1つ前のエントリで「特徴語を抽出するモジュール」のことを書いたらそこそこ好評だったみたいなので、調子に乗ってもう1本モジュールを紹介しておきます。 Lingua::JA::Expand - word expander by associatives http://search.cpan.org/~miki/Lingua-JA-Exp…

手軽にTF/IDFを計算するモジュール

情報検索の分野でよく使われるアルゴリズムで「TF/IDF」というものがあります。ドキュメントの中から「特徴語」を抽出する、といったような用途でよく使われています。TF/IDFアルゴリズムのくわしい解説はこことかここを見てください。今回はこのTF/IDFの計…

Dartsを試してみた

ダブル配列なTrie構造を実装するためのライブラリであるDartsを試してみました。DartsはMeCabの作者として知られる工藤 拓氏の作品で、もともとMeCabに組み込まれていたDouble-Arrayのコード部分を、工藤氏が改めてリパッケージしてものだそうです。なおDart…