技術

Gmailで特定のラベルの付いたメールをIRCにNotifyするPlaggerレシピ

今日やってみたのでメモメモ。IRCというかTiarraにNotify。Gmailの特定のラベルのついたメールは、https://username:password@mail.google.com/mail/feed/atom/YourLabelとかやるとAtomフィードで見れるのでこれを使う。ほんとはcookie使ってusernameとpassw…

Mac OS Xファイル名の正規化

Mac OS Xのファイル名の文字エンコーディングはUTF-8になってる。このファイル名をEUC-JPとかの他のエンコーディングに変換するときに、そのままだとおかしくなる。どうも原因は、Mac OS Xではひらがなやカタカナの濁音や半濁音を表すのに、二つの文字を組み…

Image::Compareモジュール

ぼちぼち、ここの更新もちゃんと再開。本日はImage::Compareというモジュールを使ってみていた。このモジュールはその名の通り二つの画像を比較して、同じ画像かどうかを判定してくれる。便利なのは、完全に一致する画像だけでなくて、しきい値を指定するこ…

Plagger Hackathon2に行ってきた

Plaggerのコードを書きに行ってきた.Cybozu Labの快適環境でコード書けるなんてめったいないかもよ.昨日はきてからSubscription::Configで,extractできるようなパッチを書いてみたんだけど,なんかSubscriptionだとかなり汚い感じになるな.Subscription…

CustomFeed::MangaOhClubをもとにPlaggeにCSVを読み込ませれるようにする

ここ数日は,まんが王倶楽部のCSVをパースしてPlaggerに読み込ませるCustomFeed::MangaOhClubを書いてた.これを汎用化できれば,簡単な正規表現で表現できるCSVとかを簡単にPlaggerに放り込めるんじゃね?というはなし.なにはともあれ,CustomFeed::MangaO…

より便利なsprintf - String::Format

Pythonにはsprintfっぽいことができる%演算子って言うのがある.これは普通のsprintfっぽくフォーマット文字列のの後に変数並べる使い方ができる.さらに便利な使い方があって,辞書を渡して辞書のキーをもとに文字列のフォーマットができて, >>> print "%(…

svn+sshはらくちんだなー

イメージ的に,Subversion = Apache2にmod_dav_svn設定してがりがり -> なにかとめんどくさー,だったんだけどsvn+sshを使うとすげー楽に使えるということを今日知った.svn+sshだとmod_dav_svnの設定をしたり,svnserveをデーモンとして立ち上げておく必要…

CustomFeed::FTPでFTPをFeed化

FTP経由でファイル更新を調べてRSSに出力するのにまたまたPlaggerを使った。こういう、なんかしら入力してFeedにするっていうタスクにはPlagger非常に便利だなー。SubscriptionとかCustomFeedとかのプラグイン書くだけでよいし。で、FTPの指定したパスからフ…

とらのあなRSSをPlaggerで、をインスパイアー

#dameTunesでPlagger::Plugin::Subscription::Toranoanaが良さそうという話になったので、IRCで出たアイディアも含めてインスパイアーしちゃった。画像URIを含めるように少しコードを追加。のつもりが、なんか、その他にもちょこちょこいじってたら diff | w…

Can't call method "utc_rd_values"の件

Plaggerのリビジョン1232でFilter::RuleでFreshモジュール使ってるときに、 Can't call method "utc_rd_values" without a package or object reference at /usr/local/lib/perl/5.8.7/DateTime.pm line 1460.などと言われるのでDateTime.pmにもぐってみる。…

Net::FTP調査中

Net::FTPをつかってFTPからファイル情報を取り出すよ。まず、Net::FTPでFTPに接続。次のようなノリで。 my $ftp = Net::FTP->new($hostname); $ftp->login($user,$password);で、$ftp->dirを再帰的に実行する。ls -l形式にマッチする素敵な正規表現はCPANか…

Gmailがもとにもどった?

ちょっと前からGmailでPlaggerから送られてくるメールがうまくスレッド化されなくなってたらしい。しかし、本日あたりに前と同じ挙動にもどった?Plaggerメール読むにはスレッド化されてる方がかなり読みやすいので、良いこと。しかし、なんだろ、前のスレッ…

GmailにPlaggerのメールがはねられる

Plaggerからのメールがスパム扱いになって困る.ちゅうか,Gmailのsmtp経由でPlaggerからメールがんがん送ってたら,Daily Sending Quota Exceededとか言われたわけで.それでしかたないから自前smtp経由でPlaggerのメール飛ばすと,かしこいGmailのスパムフ…

Perlベストプラクティスもうすぐ

oreilly.co.jp -- Online Catalog: Perlベストプラクティス日本語訳もうすぐだ!これは買わねば。て、ていうか高いっすね。本日も本屋でPerl系のオライリー本がごそっと並んでるのを見ましたが、あれ全部でいくらくらいなんだろうな。4マソくらいか。がくぶ…

P::P::Filter::HatenaMobileGateway

えぎょ(id:egyo2nd)の記事に, 通常の東京メトロ|運行情報のリンクにはてなモバイルのうるるをつけてます。うるるの前にhttp://mgw.hatena.ne.jp/?をつけるとちょっと軽くなります。こんな感じ「東京メトロ運行情報」 てのがあった.これは,便利げだー.こ…

URI->new_abs

そいや、URIモジュール使って2回以上new_absすると、たとえば、 my $u = URI->new('http://b.hatena.ne.jp'); # ひとつ繋げる $u = URI->new_abs('hakobe932', $u); print $u, "\n"; # http://b.hatena.ne.jp/hakobe932 # もうひとつ繋げる $u = URI->new_ab…

気象庁の降水情報画像のURIを作るPerlのモジュール

もう、梅雨も開けてしまったけれど、あえて雨ネタ。気象庁のレーダ・降水ナウキャストというのが便利でよく使ってる。で、昨日友達と、そこの画像をひろってきて携帯用にクロップしたり、降水状況監視したりしたら便利じゃね?などと話しになった。それで、…

Havel, Hakimiの定理をPerlで

今季最後のテストであるのグラフ理論のテストが月曜に控えている。といっても、まだ今の段階ではまったく勉強する気にもならないんだけど、さすがに何もやらないのもアレなので教科書に出てくるHavel, Hakimiの定理をPerlで実装してみた。Havel, Hakimiの定…

ノリでコードかいてるだけじゃだめか

ABラボラトリ -初めてのPerl勉強中- - Perl初学者が参考にしているブログってとこで紹介してもらってたんですが,その記事経由でid:palmoさんが書かれているぱるも日記を知った.んー,丁寧だなぁ,なにかと.こう,なんというか体系的にじっくり学んでいく…

Livedoor LISLOGが結構おもろい

http://lislog.livedoor.com/r/36 ガットゥーゾ http://lislog.livedoor.com/r/13 死 http://lislog.livedoor.com/r/349 さすがにない http://lislog.livedoor.com/r/41 犯人 http://lislog.livedoor.com/r/281 メメタァ Blogにランキング貼付けたりできるの…

はてブのブックマークをdel.icio.usとLivedoor クリップに移す

普段ブックマークには,はてなブックマークを使ってるんだけれど,世のため人のためにdel.icio.usとLivedoor クリップにミラーするよ,Plaggerで.まぁ,これもベーシックなPlaggerレシピっぽいけど.はじめ,Subscription::HatenaBookmarkかCustomFeed::Hat…

文字列反転

なにを寝ぼけていたのか,reverseはLISTを反転する関数なんだから,LIST渡さんとイカン.しかしながら,reverseはスカラコンテキストで評価されると,LISTの要素を文字列として連結してそれを逆順にして返す.なんでスカラコンテキストで評価されたとこだけ…

日本語reverse

ちょっと文字化けジェネレータやったときに文字コード周りが気になったんで. $ cat enc.pl #!/opt/local/bin/perl use warnings; use strict; use Encode; my $str; # 化ける $str = reverse 'これは良い日本語ですね'; print $str,"\n"; # 化けないけど反…

文字化けジェネレータ

文字化けジェネレータ友達んちで突発的に必要となったので作った.まぁ,これ何の役に立つのかと言えば,いたずらに使うくらいのもんでしょうか?いや,いたずらとか断じてシテナイヨ.頻度 = 1, シフト幅 = 3でなんちゃってシーザー暗号とか.

YAMLのお勉強

PlaggerやらRailsやらでYAMLがよく使われてる.うちはYAML良く知らなかったんだけど,何も考えずにPlaggerの設定ファイルは書けた.それほどに直感的.わかりやすいよ!すてきだよYAML!とかいって,いつまでもまったくYAMLの細かいことを知らないというのは…

Ruby勉強会@関西に行ってきた

Ruby勉強会@関西-11でつ.いろんな人とおしゃべりできておもしろかった!かずひこさんにも,はじめよう Ruby on Railsに青いペンでサインしてもらったよ.恋とハックはアジャイルが命! ありがとうございますー.id:omochistは赤色のサインペン.最近はPerl…

ふつうのPlagger

いたってふつうのPlaggerの使い方をしてみた.自分">*1livedoorreader2gmailふつうに便利.Gmailにどんどん蓄積されていく感じが良いね.また,Filter::EntryFullTextなんかのFilterがかなり有効に働いているのもよい.そもそもPlaggerてbloglines2gmailから…

Ubuntu breezyにlighttpd入れた

使ってるUbuntu breezyにはlighttpdのパッケージがないのでコンパイルしてインストール.jacobian.org : Lightpd on Ubuntuで説明されてる依存パッケージをインストール.あと,lighttpdのダウンロードページに, automake 1.8 or higher autoconf 2.57 or h…

Catalyst5.7でModelつくるよ

SQLite使った場合.DSNを指定するときは,dbi:SQLite:dbname=/full/path/to/database.dbってな感じでフルパスで指定しなきゃダメだよ!*1CDBI使うときは,helper使って, $ perl script/minimojo_create.pl model MyDB CDBI 'dbi:SQLite:dbname=/full/path/t…

Catalystちょっとずつ

学校で最新LLフレームワークエクスプローラ Ruby on Rails, Maple/Ethna(PHP),Catalyst(Perl),TurboGears(Python) 5大フレームワーク徹底攻略を見つけて衝動買い.衝動ってこわいね.ともかくはp164からのCatalystことはじめで基本を再度おさらいしてみる.p…