タグ

ブックマーク / blog.bulknews.net (14)

  • 日本の総理大臣の演説をタグクラウド化: blog.bulknews.net

    の総理大臣の演説をタグクラウド化 US Presidential Speeches Tag Cloud が面白かったので日の総理大臣版を3分ハッキング。コード自体は15分くらいでかけたんだけどデバッグやらデータの解析やらに時間がかかってトータルでは2時間くらいか。 Japanese Prime Minister Speeches Tag Cloud 首相官邸ホームページ からリンクをたどって HTMLをダウンロード、HTML::TreeBuilder で as_text して Text::MeCab にわせ、名詞(代名詞などをのぞく)の頻度を YAML データとしてつっこみ、HTML::TagCloud でタグクラウド化しました。スライダーの JS などは元の US Presidential のほとんどパクリです。 IE だと行間がかなりつまってるのは HTML::TagCloud

  • Google Mobile supports Mobile Link Discovery: blog.bulknews.net

    Google Mobile supports Mobile Link Discovery ちょっとひさびさの話題になりますが、社内IRCGoogle モバイル 注: モバイル互換のウェブサイトが既に存在する場合は、変換せずにそのページを直接表示します。 というのは Mobile Link Discovery を見ているのかなぁ? という話になったので実験。Google モバイルで "bulknews" を検索し、Bulknews.net に link rel="alternate" media="handheld" を入れる前後で結果をみてみた。 結果としては、MLD タグをいれるときちんとモバイルサイトにリダイレクトされました。Google モバイル側で、リンクをクリックする際に GET を投げて link タグをスキャンしているようですね。Google++! 他にもモバイル検索エ

  • HTML::Selector::XPath をリリース: blog.bulknews.net

    HTML::Selector::XPath をリリース CSS Selector in Perl とか subtech - Bulknews::Subtech - CSS selector to XPath あたりで議論していた CSS 2 Selectors to XPath コンパイラなモジュールをつくって、CPAN に HTML::Selector::XPath としてリリースしました。 使い方は naoya さんが先に書いてますが、HTML から正規表現を使うことなくスクレイプするのに便利。たとえば Mixi にログインしてマイミク最新日記と、1件目のタイトル、文を抜き出すコードが、以下のようにかけます。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use HTML::Selector::XPat

  • CPAN::Mini で CPAN のミラーをローカルに: blog.bulknews.net

    CPAN::Mini で CPAN のミラーをローカルに DECON で話してきたネタですがちょっと詳しく。 飛行機やら電車の中やらでオフラインハックするときに(たまに)問題になるのが CPAN モジュールの不足です。「あぁ、このマシンにはあのモジュール入ってねぇ~」とかでハックが滞るのは萎えます。というわけで minicpan。CPAN::Mini というモジュールで、CPAN モジュールの最新版だけを持ってきてミラーをつくることができます。 導入は簡単で、CPAN から install CPAN::Mini すると minicpan というコマンドが付属してきます。コマンドラインから使うには、 > minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l ~/minicpan とかすれば finet から HTTP で同期で

  • Rabin Karp アルゴリズムでコード重複の検出 blog.bulknews.net

    Rabin Karp アルゴリズムでコード重複の検出 YAPC::NA で会った Fotango の Norman Nunley がつくってる Algorithm::RabinKarp モジュールが面白げです。 Rabin Karp 文字列探索アルゴリズム (wikipedia) を使って文字列のハッシュ(ダイジェスト)をチェックし、同一の値を示す部分を重複しているとみなしてレポートしてくれます。つまり、プロジェクト内のコードのコピーペーストを検出するツールとして使えるというわけ。 ためしに Plagger で試してみた結果は rabin.txt のようになりました。プラグインの register_hook や CustomFeed での Feed オブジェクトの生成など、イディオム的に使う部分が大半になってしまっていますが、いくつか実際コピペで再利用しているコードが検出できています。 c

    nozom
    nozom 2006/07/16
  • Perl Tips: Unicode 文字列: blog.bulknews.net

    Perl Tips: Unicode 文字列 Perl 5.6 以降では、文字列に Unicode フラグというのがつきます。 XML など文字コードを明示的に指定した場合などは Unicode 文字列として扱われ、length などが文字セマンティクスで動作します。 ある変数に Unicode フラグがたっているかどうかは、Devel::Peek モジュールでわかります。 use Devel::Peek; Dump $s ここで問題になるのが、文字列連結での自動アップグレード問題といわれるもので、内部的に Unicode フラグがたっている文字列と、そうでない文字列を連結すると、自動的にそうでないほうが Unicode にアップグレードされます。ここが文字化けの原因になります。 1. テンプレートを UTF-8 で記述し、Template-Toolkit で読み込み 2. DB は My

  • ActivePerl で PerlScript と Google Maps: blog.bulknews.net

    ActivePerlPerlScript と Google Maps Google Maps を ThinkPad 加速度センサーで操作 というナイスなハックをやってみたわけですが、ちょっと技術的な部分を解説。 まず ThinkPad の加速度を読む部分は、Google で検索すると、 http://www.hirax.net/misc/AccelerometerThinkpad/AccelerometerThinkpad.h http://blog.netswitch.jp/files/leap-frog.zip あたりのコードが見つかります。C で書くと、 if( !DeviceIoControl( hFile, 0x733fc, NULL, 0, // via IOCTL(0x733fc) (void *)&AccelerometerData, 0x24, &ulRead, N

  • Bulkfeeds: SPAM ブラックリストの公開、Submission API と MT プラグイン: blog.bulknews.net

    Bulkfeeds: SPAM ブラックリストの公開、Submission API と MT プラグイン Bulkfeeds では、ボランティアによる SPAM サイト登録 と、自作の SPAM フィルタによるブラックリストの強化を行ってきましたが、API による公開の準備ができたのでお知らせします。 今回の API および機能拡充は以下のリストから構成されます。 1. DNS によるブラックリスト問い合わせ API の公開(ベータ) 2. Movable Type の JunkFilter フレームワークと連携した自動登録 3. REST による ブラックリストへの URL 登録 API の公開 DNS によるブラックリスト問い合わせ Report SPAM ページから登録していただいたデータや、こちらの SPAM フィルタにひっかかったデータを DNSBL 形式でインポートし、定期的に

  • del.icio.us と はてなブックマークに cross-post: blog.bulknews.net

    del.icio.us と はてなブックマークに cross-post 思うところあってはてなブックマーク にもデータをポストしておこうと思い、del.icio.us とはてなにクロスポストするツールを書いてみました。http://svn.bulknews.net/repos/public/sbm-xpost/trunk/ からもってこれます。 del.icio.us APIはてなブックマーク API を使ってデータをポストしています。svn co したあと、sbm-xpost.yaml.sample を sbm-xpost.yaml にコピーして、del.icio.us とはてなのユーザ名、パスワードを書き込めば使えます(CPAN モジュールがいろいろ必要ですが)。 1. del.icio.us の投稿画面が tag が多いと IE で固まる 2. はてなブックマークを購読している

  • use encoding 'utf-8' & encoding::warnings: blog.bulknews.net

    use encoding 'utf-8' & encoding::warnings Perl ネタ。 XML まわりなんかを扱うときについて回る UTF-8 フラグ (Unicode フラグ)をどう落とすか的ネタがもりあがっていますねぇ。このネタは拙書の Blog Hacks でも 1 Hack さいて解説してあります。 Blog Hacks ―プロが教えるテクニック&ツール100選posted with amazlet on 05.09.30宮川 達彦 伊藤 直也 オライリー・ジャパン (2004/08/07) 売り上げランキング: 20,714 Amazon.co.jp で詳細を見る たしかに内部的に UTF-8 フラグを落としてバリバリつなげちゃえば、場当たり的に楽は楽なんだけど、内部的に Unicode フラグをもったまま処理して、最後に出力するときに落とす(encode する)と

  • SPAM / Fake Blog のデータ(暫定): blog.bulknews.net

    SPAM / Fake Blog のデータ(暫定) Bulkfeeds: Fighting with SPAMs で書いたとおり Bulkfeeds 向けの SPAM / Fake Blog フィルタの開発とチューニングにいそしんでいますが、とりあえずの途中結果でおもしろいデータがとれたので、暫定公開しておきます。 http://bulkfeeds.net/tmp/spams/fakeblog.txt http://bulkfeeds.net/tmp/spams/englishblogs.txt http://bulkfeeds.net/tmp/spams/affiliates.txt (しばらくしたら消去します。直リンクはご遠慮を) Bulkfeeds に Ping を送ってきたり、Blog サービスからアグリゲートしている Blog のうち、フィルタにひっかかったものを URL + 1

  • SVN レポジトリの公開: blog.bulknews.net

    SVN レポジトリの公開 長らくやろうと思っていた自作のモジュールやスクリプトの SVN を公開してみました。→ svn.bulknews.net svnserve でレポジトリの read-only アクセスを公開、viewcvs でディレクトリをブラウズできるようにしてます。ここまで紆余曲折あったので、備忘録代わりにちょっとまとめておきます。 CVS から Subversion へ 今年の2月ぐらいに、CVS から subversion に移行しました。subversion に付属している cvs2svn ツールを使ってほぼ一発で移行が完了したんですが、 * 公開したくないディレクトリがまじっている * ディレクトリ構造がフラット * 認証とか面倒だなあ ということで公開はほったらかしていました。パッチを受け付けたり、こまいツールを公開するときは subversion レポジトリを公開

  • Blog Developer's Cookbook : Trackback Auto Discovery

    RDF に trackback モジュールをインポートし、 trackback:ping="http://blog.bulknews.net/cookbook/trackback/trackback_tb_discovery" の部分で、Ping URL を指定しています。ちなみに dc:title にはエントリのタイトル、dc:identifier にはエントリの Permalink を指定しています。rdf:about については、意味的にいろいろな指定方法が考えられますが、ここでは "Trackback Ping URL についてのメタデータ" であると考え、Trackback Ping URL を指定しています。 このような RDF タグを、Blog ツールのテンプレートなどを編集して HTML 内に埋めこみます(*1)。ただ、XHTML 内にこうした RDF タグを埋めこんだ場合

    nozom
    nozom 2005/02/23
  • nofollow!: blog.bulknews.net

    nofollow! Six Apart, Google, Yahoo! その他検索エンジンやBlog ソフトウェアベンダーから、a タグの rel="nofollow" の取り扱いに対する表明がでました(全部 Blog でというのがそれもまたすごい)。 Dave Winer がちょうど書いているこのフレーズが端的に代弁してくれたので代用。 The cool thing about the anti-comment-spam initiative that's coming together is that it is a coming-together. For once the companies are working with each other to solve a problem for users. Yay!

    nozom
    nozom 2005/02/23
  • 1