Perl

また…

まいじゃーがまたエラーになってる。あそこ何回EFTに手を入れたかわからないよもう。MTでもWPでもいいからなにかよそでも使われてるような標準的なシステムを使ってくれればいいのに。 Maidsphereも変更がきてるなぁ。後で手を入れておこうっと。 ついき ま…

設定ファイル

とりあえずちょっとだけplaggerのconfig.yamlっぽい感じにしてみた。まだ手を入れないといけないなぁ。

うーん

いい感じのモジュール名が思いつかない。

blind fortube biscuit

#!/usr/bin/perl use strict; use warnings; { local $/ = "%\n"; srand; my $line; rand $. < 1 and $line = $_ while <DATA>; chomp $line; print $line; } __DATA__ アブラハムの子であるダビデの子、イエス・キリストの系図。 -- マタイの福音書 1:1 % アブラ</data>…

渡した文字列を元にパスワードを生成してみる

元ネタ: 高反発マットレスの選び方 | アフィブログに騙されない為の高反発マットレス手記 use strict; use warnings; use Digest; use MIME::Base64; my $clip = $ARGV[0] =~ m{^[-/]clip$}i ? shift : undef; $_ = $ARGV[0]; print $_ = encode_base64(Dige…

ハッシュの配列のハッシュ ハッシュの配列の配列 どっちも一長一短あるんだけど、今のところ案1をもとに考えてます。 追記 んー、案2を採用したほうがいいかもしれないにゃー。

うーん

実際に実装してみると設計が腐ってるなぁ…。もう少しどうにかしないと。実装する前にわかれよー、って話なんだけどね。 追記 ダメっぽい。明日の空き時間で設計を練り直してきます。設計力とか脳内シミュレーションの正確さとかいろいろ足りてないなぁ。妄想…

YAPC::Asia 2007 Tokyo

podcastのうち、気になるものをiPodに転送。明日から行き帰りにはこれを聴こう。

まいじゃー推進委員会!

まいじゃー推進委員会!はフィードを全文配信してくれないので、Plaggerで読んでるんだけど、あそこのHTML絶対おかしいって。ぐちゃぐちゃすぎる。ありえない。おかげでXPathも使えないし、正規表現もめちゃくちゃ。また手を入れる羽目になりました。多分私…

方針変更

私のゴーストがささやくので、とりあえずコマンドプロンプトからのCUIでいいからとりあえず作ってしまおう。やっぱり作らないとなんの話にもならないしね。DBICのSchemaは書いてある。カテゴリの取得は前に書いたTangerine::Plugin::Categorizedがほとんどそ…

JSON::Any 1.03

252c252 < croak "No $handler Object created!" unless exists $self->{[0]}; --- > croak "No $handler Object created!" unless exists $self->[0]; 297c297 < croak "No $handler Object created!" unless exists $self->{[0]}; --- > croak "No $handle…

設定

設定ファイルのフォーマットはこれでよさげ。次はえっと、テストを書いてみるにょー。

stage6

いつのまにかページが変わってて、つかえなくなってたからとりあえず更新。あとでHTML::Elementのドキュメントを確認しておかないと。モジュールの内部構造を直接覗くのはお行儀が悪いです。

正規表現

完全性を期すと^foo(?:(?:[-_]\d|_)_?|bar)?になるけど、これはさすがにアレだなぁ。あんまりでてこないパターンを外して^foo(?:[-_]\d?|bar)?にしてしまってもいいかもしれないね。これで引っ掛からないパターンはああまりでてこないから、そのときぐらいは…

あー、だめか

今書いてるフォーマットだとGlobalって名前のプラグインが実装できなくなる。実際にそんな名前のプラグインを書くかどうかは別にしても、プラグインの名前空間に言語仕様以上の余計な制限をつけるのはちょっとアレだなぁ。それはちょっと趣味じゃない。 追記…

これは書き直そうかなぁ

どう考えてもconfigurableであるべきデータまでモジュールにハードコードしてるなぁ。ていうか、不要にモジュールも多い。プラグインはもっと減らせるはず。ちょっと手を入れてみよう。

コンフィグ

ファイルのフォーマットに悩む。Iniで書いてあるんだけど、今書き直すとしたらYAMLを使いたいところ。けどYAMLってIniに比べたらツリー構造だよね。ツリーの構造がどうしようかなぁ、とか。とりあえずいろいろ手を動かしてみようかなぁ。にょろ〜ん。

IP逆引き

use Net::DNS::Resolver; use Socket; sub ip2host { my $q = Net::DNS::Resolver->new->search(shift, 'PTR') or return; foreach ($q->answer) { next if $_->type ne 'PTR'; return $_->rdatastr; } } print ip2host(shift), "\n"; 蝶やっつけ。蝶てきと…

スクラッチから書き直したい

タイトルが物語ってるとおりなのだけど。書いたのが結構前だから、今見ると実装がどうこう言う前に、そもそもの設計の時点でアレなんだよね。組み込み関数のオーバーライドとかソースフィルタはいま書き直してもほぼ同じになるだろうけど、プラグインまわり…

parseメソッド

返値を少し変更しよう。個々のクラスのparseで処理するよりも、返値を抽象クラスに実装してある汎用downloadでいじったほうがいい感じっぽい。 追記 [23:33] return { title => $title, charset => 'utf-8', ext => '.flv', uri => $video, }; こんな感じに…

もきゅー

しばらく放置プレイだったので、とりあえずpya!にも対応。ビデオならたぶん動くかな。画像とかflashは確認してないけど多分無理。画像はともかく、flashはあとで書いたほうが幸せだと思う。 追記 [20:30] pya!にいろいろ手を入れてみる。動画もFLashもこれで…

んー…

Boltも書いてみたけど、ファイル名のあたりから必ず取れるとは限らないなぁ。どうにかしようと思ったら、ありそうなファイル名でheadのレスポンスを確認しないといけない。めどいからとりあえずパス。必要になったら書こう。あとYouTubeの処理が妙にもっさり…

うー

Bolt (暫定) Dailymotion IFILM Metacafe を追加。明日Boltにもう少し手を入れよう。

とりあえず

Ameba Vision Google Video Stage6 YouTube はこれで完成。ていうか、これだけあれば大抵は足りるんだけど。

VDL::URI

URIオブジェクトを使うように変更。parseメソッドは結局抽象クラスに実装するんじゃなくて、個々のクラスごとに実装しないといけないけど、それを考えてもこれでだいぶ簡単になったかな。あと、YouTubeの認証なし/ありを統一。これでコードがよりシンプルに。

コンテキスト

いまでもコンテキスト違いではまるなぁ。リストコンテキストとスカラーコンテキストで評価したら違ってくるから、wantarrayでチェックしないといけないや。

URIオブジェクト

URIをそのまま扱うからモジュールごとに固有のコードが多くなるのかな。URIをオブジェクトにして、 my $u = VDL::URI->new('http://example.com/video.url'); my $title = $u->content->extract_xpath('//hi[@id="title"]'); my $id = $u->content->extract(…

むー

なんか気に入らないコード。んー、どうしようかなぁ。 ちゅいき [03/04 00:21] 追記って打とうとしたらついtypo。面白いからそのままで。 わかったわかった。思い通りに抽象化出来てないからこんなに不自然なんだ。Plaggerのassetsなんかみたいになってない…

Spiffy

via. http://kerolin.jspeed.jp/Computer/Linux/spiffy070301.html ちょっと試しに使ってみたけど、これは面白そう。んー、けどAbstractClass -Baseでソースフィルタをかけて暗黙の$self = shift;と最後の1;は、確かにコード量は減るけどちょっときもちわる…

リファクタリング

適度に抽象化したりしつつ、少しずつ手を入れたり書き足したり。まあ、一番最初にやるのはそれぞれのテストケースを書くことですが。最初にテストを書いて、次にその部分をリファクタリング。正しいテストを書けば、正しいコードは自然と湧き上がってくる。…