技術

はてなブックマークのエクスポート機能

機能変更、お知らせなど - はてなブックマーク日記 - ブックマークデータのエクスポート機能の公開についてってことで、はてなブックマークで自分のブックマークをエクスポートできるようになった。んじゃこれで、エクスポートしたAtomをSubscription::Confi…

Flickrから素敵な壁紙を自動で収集

ネタフルのFliclkrで壁紙を探そう!を読んで、このWallpaperグループからずるずると壁紙をひっぱってきて使えたら素敵じゃないかと思ったので、そんなPerlスクリプトを書いた。 $ perl flickr_collect ~/Desktop/flickr_wallpapersとかやると、指定したディ…

File::Morkモジュールのマルチバイト対応

Firefox等のMozilla系ブラウザの履歴(= history.dat)を読み込むモジュールにFile::Morkがある。なかなか便利に使えそうなんだけど、マルチバイト対応しておらず、日本語が扱えない。なんで、File::Morkを日本語対応するようなパッチを書いた。 --- Mork_orig…

PlaggerとSubscription::BrowserHistoryで自分のWebブラウジングをトラッキング

Plaggerのプラグインである、Subscription::BrowserHistoryを作成した。これを使うと、ブラウザの履歴をPlaggerで読み込めるようになる。いまはMozilla系のブラウザにしか対応していないけど、サブクラスかけば良いようになってるので、IEやSafari向けもすぐ…

命名規則重要ですね、、

学校の授業関係のソースコードを読んでたんだけど、そのコードの名前付けのせいでかなり苦戦した。というか、書いたやつ出てこい。謝罪を要k(ry読んだのは簡単なネットワークゲームのコードでPythonで書かれているやつ。メソッド名や変数名がぐだぐだという…

Shibuya.pmにリモート参加

今回のShibuya Perl Mongers テクニカルトーク #7は映像がストリーミング配信されてたので、ストリーミング+IRC経由で参加してみた。細かい部分は実際に参加した人のレポートが良いと思うんでパス。自分用に簡単なメモだけ。 PMConnectすごすぎる。JavaScrip…

Planet Kansai.pmを作ってみた

先日のKansai.pm第7回ミーティングのときにちらっと話題になっていたのでPlanet Kansai.pmを作ってみた。まぁ、Shibuya.pmも終わった直後だったりして、微妙に遅ネタなんだけど。これのyamlは、void GraphicWizardsLair( void ); // Planet W-ZERO3をPlagger…

PlaggerからのメールをMac OS XのMailで読む

Gmailてマシンや回線によっては、かなりもっさりとした動作になってしまう。Plaggerで作ったフィードのメールをつぎつぎと読みたい時などは結構そのもっさり感がストレスに。 どうにかなんないかなーと思ってたら、Kansai.pmで聞いたmiyagawaさんの話による…

Kansai.pmのPlagger World Tour in 大阪

ちゅうわけでKansai.pmのPlagger World Tour in 大阪参加してきた。会場のデジハリ大阪はなにやら複雑なところにあって地図とにらめっこしてたどり着きましたよ。miyagawaさんのPlaggerスライドだけで一時間くらいだったので、尺はたっぷり。スライド枚数も2…

Plagger World Tour in 大阪にいってきます

明日、Kansai.pmの第7回ミーティングでもある、Plagger World Tour in 大阪に行ってきます。スライド90分は超長いわ。Perlなひとともたくさん会えそうでたのしみ。参加者はこんな感じだとか。平日だし学生が多かったりすんのかなー?て、うちも学生ですよ。…

Google Docsの共同編集機能をつかってみた

Google買収されたWritelyが先日からGoogle Docsとして利用できるようになってた。今日は学校の課題にグループで出すのがあったんで、このGoogle Docsを使った共同作業でレポート作成してみた。機能的にはやはりよくできているなー、という印象。右クリック動…

ネトラジのPodcast化をもうちょい簡単に

Filter::FetchEnclosure::Mplayerアップデートした(ソースコード)。Plagger+ネトラジ+Podcastの続きあたりの話の続きね。Enclosureがasxなどのコンテナ形式でもコンテナの中のストリーム本体のURLを探すようになった。これでCustomFeedがずいぶん楽になる。…

もっと簡単にスマートキーワードで検索

逆に、URIを工夫すれば、あらかじめ検索結果を絞り込むスマートキーワードが出来上がります。 URIを工夫しなくても、検索フォームの入力欄のコンテキストメニューから「この検索をキーワードに設定」を選べばもっと簡単に検索をスマートキーワード化できる。…

Perlな本たくさん

本日研究室に行くと、たくさん本が届いてた。ど、どれから読むのがベストプラクティスなんでしょうか。しばらくは、この本をならべてにやにやしながらPerlのコードを書きたい(ぉ。

第12回 Ruby勉強会@関西いってきた

第12回 Ruby勉強会@関西。最近はめっきりPerlの人っぽいんだけど、行ってきました。違う言語たまに触れたり、いろんなひとと会ってお話しする(ココ重要)のは何かと刺激になって良いので。では、セッションごとに軽く感想。 「すごいリファレンスマニュアル…

SVN::Webいいねコレ

SVN::Webいいよ、コレ。いや、超有名なのかもだけど。知らんかったので。"Subversion repository web frontend"ということで、私のように、tracを単にWebリポジトリビュアーとしてか使ってない人には手軽でおすすめ。SVN::Web自体のリポジトリがSVN::Webでみ…

Filter::FetchEnclosure::Mplayerアイディアの整理

今はあんまりきれいなモジュールじゃなくて作り直そうと思うのだけど、考えてたらごちゃごちゃしてきたので、ちゃんと書いて整理してみる。 1. CustomFeed::ConfigでネトラジサイトをCustomFeed CustomFeed::Configなら正規表現で手軽にネトラジの配信サイト…

Catalyst::Model::XML::Feedをプロキシ対応に

これ使ってるアプリケーションを学校でデモすることになった。だけど、学校ネットワークはプロキシ刺さないと外にでれないので、http_proxyを見てくれるようにした。あとXML::FeedはXML::RSS::LibXML使うように。プロキシ刺すのにURI::Fetch調べたんだけど、…

XML::Feedベンチの続き

昨日、XML::Feedのベンチマークを取ったのだけど、miyagawaさんに突っ込みもらったので再調査。XML::FeedはデフォルトではRSSのParseにXML::RSSを使っているらしい。昨日の記事の結果でXMl::FeedとXML::RSSの結果がほとんど同じだった*1のは当然のこと。そし…

XML::Feedの読み込みベンチ

夏休みの課題でCatalyst::Model::XML::Feedを使ったという記事を書いた。しかし、このモジュールを使って、一回のクエリで5個も6個もFeedを読み込むようにするとページが表示されるまでにかなり時間がかかってしまって、Webアプリケーションとしてはあまり良…

Googleパーソナライズドホームに口を、の解説

Googleパーソナライズドホームに口をがあまりにも勢いが先行しすぎたので軽く説明。Googleパーソナライズドホームのモジュールは自作できる。Google Gadgets APIというのがあって、このページのDeveloper Guide (Getting Started)というのを適当に流し読みし…

Subversionリポジトリ&tracいれた

ほったらかし気味だったけどちゃんと導入したよ。 http://svn.douzemille.net http://trac.douzemille.net リポジトリ構成はいろいろ考えたけど、publicなリポジトリを別に作ってしまうことにした。すっきり。見せたいものはここで開発という感じで。tracは…

使用コマンドランキング

idea * ideaのi d e a * i d e a - UNIX使いのパフォーマンスをあげる小技コマンドのネタをClouder::Blogger: 使用コマンドランキングで見たので調子に乗ってやってみる。 $ cat ~/.zhistory | awk '{print $1}' | awk 'BEGIN {FS="|"} {print $1}' | sort |…

ドメインとったのでApacheのVirtualHost設定してみたメモ

douzemille.netをとった。*1鯖は変えてないので、これまで、tadakichi.ddo.jpでアクセスできたとこには、douzemille.netかwww.douzemille.netでアクセスできます。tadakichi.ddo.jpもしばらくは使えるようにするんで、RSSとかでアドレス変えると未読きえちゃ…

優先順位って大事ね

if(! $found && $password1 eq $password2){ # ごにょごにょ }としたくて、 if(not $found && $password1 eq $password2){ # ごにょごにょ }としたらはまった。だってさ、not $foundのほうがかっこいいじゃん? 演算子の優先順位って大事ですね。

Catalyst::Model::XML::Feedがおもしろい

結構面白げなCatalyst向けモジュールであるCatalyst::Model::XML::Feedを使ってみた。というか、今回の課題のメインの機能はこれつかってる。その名の通り、CatalystのModelとしてRSS/Atomフィードを使えるようにするモジュール。適当に、 $ ./script/myapp_…

Catalyst進化してる

結局学校の画題を作るのにCatalystを使うことにした。で、かなりひさしぶりにCatalyst触ったんだけどなにかと強力になってるね。以下は現在CPAN最新の5.7001の話。 Viewのレンダリング 昔のCatalystだと自分でRoot.pmのendアクションにViewにフォワードする…

リポジトリの構成で悩んでる

Subversionもだいぶ慣れてきて、本格的にsvn+svkな開発体制をとりたい*1そんでもって自分で書いたコードはtracで公開したいところ。なんだけど、管理したいコードにはpublicなものとprivateなものがあって、publicだけtracで見せたい。かといって、作業用リ…

作ったものをどう管理するか

スクリプト言語を学んでからは、ちょっとしたツールみたいなものなら、割と簡単に作れるようになってきた。で、調子にのっていろいろ作っているうちに、自分が作ったものを全部管理しきれなくなってきて困ってる。どこになにがあるかとか、もうわけわかめ。…

はてなブックマークからおすすめ商品をリストするhateb->amaozn

ここ数日ちょっとひまつぶしに、hateb->amazonというのを作ってみていた。あなたのはてブIDからそれっぽいおすすめ商品をリストアップ。完全に表示されるのでそれなりに時間がかかるのでまたーりどうぞ。2回目や3回目はキャッシュ効くのでもうちょい早く表示…