2009-01-01から1年間の記事一覧

onUnloadでクリックトレース

メリークリスマス! 聖なる夜に不慣れなjavascriptをいじってる豚野郎です。 「普段からwebビーコンでユーザの閲覧ページの追跡ばかりしている変態くん。本当はそのユーザが飛んでいった外部ページのURLも知りたいんじゃないのか?ん?我慢すんなよユー。」…

噂のnode.websocket.jsでサーバサイドJSとHTML5 WebSocketを体験してみたの巻

WebSocketを体験してみたいのと、サーバサイドJSを試したいのと、さらにはmac版のChromeをインストールしてみたという条件が重なり、これはもう深夜だけどnode.websocket.jsを試してみるしかないな、という状況に追い込まれました。 構成 最近あたらしく調達…

macbook airにvirtualboxでwindowsをインストールする方法

普段持ち歩くノートPCをvaioからmacbook airに変えました。いやっほう!!うれしいナ。ですが職場ではwindowsなので、macbookだと時折不便なこともあるんですよね。なのでvirtualboxでwindowsもセットアップしておくことにしました。「余裕でしょ簡単でしょ…

クラスタリングツールbayonを便利に使うText::Bayonを書きましたよ

JPerl Advent Calender 2009 のhacker trackに「Perlではじめるテキストマイニング」というタイトルで記事を書きました。テキストマイニング系のモジュールを色々紹介しているので、興味ある人はぜひご覧ください。さてさて、記事の最後の方で軽くふれました…

ギレンも登場!BM25なPerlモジュール書いたよ

久しぶりに何か書きます。情報検索のアルゴリズムで「BM25」というものがあります。 何年か前に某研究所に遊びに行ったときに「TF/IDFより精度のいいやつ」みたいな感じでかなりアバウトに教えてもらいました。 その時は「名前だけでも覚えて帰ろう」と思っ…

websequencediagrams をPerlでごにょごにょ

http://www.websequencediagrams.com というサイトを知ってますか?ZIGOROuさんがブログで使っていたので知ったんですが、実に便利っぽいです。専用のダイアグラム構文を書いてサイトにHTTP POSTするとPNGやPDFでシーケンス図を生成して返してくれる代物です…

Yahoo-APIを無制限に叩くためのモジュール書いた

ふと気づくとYahooの「ウェブ検索API」の利用制限が変わっていて、今までは同一IPからの利用は5万回/24時間でしたが、10月13日から同一appidからの利用が5万回/24時間となっていました。http://developer.yahoo.co.jp/newslist/1#64つまりappid…

ローカルポートを食いつぶしていた話

ここのところ、お仕事で管理しているシステムで、夜中に負荷が急上昇する事象が発生しており、夜な夜な対応に追われていました。 (このブログ書いている今も、負荷がじわじわ上昇中なんですが・・・)で、いろいろと調査した結果、ようやく糸口がわかってき…

AnyEvent::Intro チョー訳 その2

チョー訳その2です。今回はCondition Variablesとmain loop、それとTimer関連の説明部分を訳します。 前回の区切りの場所がイマイチ悪かったんですが、今回のところまでで「Introduction to Event-Based Programming」のパートが終わります。なお部分的にか…

AnyEvent::Intro チョー訳 その1

最近perl界隈で話題のAnyEventについて、今のうちに習得しておくとid:miyagawaみたいにクールになれて、もしかしてモテるのではないかと思い、よっしゃ、勉強してみるか、ということでドキュメント読み出したんですが、、えらいボリュームですね。心がポッキ…

gooの検索キーワードをリアルタイムで生☆ストリーム!

先日のYAPCのLTで時間切れで紹介できなかったんですが、本日gooでリアルタイムwebなサービスを3本リリースしました。 サーバ側にはperlのXMLSocketサーバHoppyを使っています。クライアントはFlashです。 検索キーワード 生☆ストリーム http://labs.goo.ne.j…

YAPC::Asia 2009 でLTしてきたヨ(でも時間切れ★)

9月10日、11日と開催されたYAPC::Asia 2009に参加してきました。今回はid:ZIGOROuとid:lestrraからお誘いをいただき、スピーカーとして参加させていただきました。ありがとうございます。それにしてもLTの難しさを実感しましたです。はい。冒頭から笑いを取…

最速ブログウオッチャー

時代は「リアルタイムweb」ということで、強引にリアルタイムっぽいアプリを作ってみました。題して「最速ブログウォッチャー」です。 「最速」ってついてますけど、本当はそんなに速くないです。なるはやって言うほうが正しいけど、聞こえが良いので最速っ…

ド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…