A Day in the Life

2006-05-01

つーかここのページを非力なマシン + FireFox で見ると

激重やわな…。

無線LANメモ

http://buffalo.melcoinc.co.jp/download/driver/lan/clmg.html

のクライアントマネージャ使う。

自転車とぱそこんがこわれた

帰る途中にチェーンが外れて手ではどうやっても直せなくて押して帰る。んもー最悪。

んで家について近くのラーメン屋まで行ったらなんか外まで並んでて入れないし。んもー最悪。

その後ですくとっぷぱそこんを立ち上げたらHDDが奇声発して立ち上がらないし。んもー最悪。

で、おしいれにしまってあるX22持ってきて立ち上げたら無線LANにつながんないし。んもー最悪。

ああHDDのしこしこりっぴんぐしたおんがくでーたがぶっ壊れてたらどうすんべか。つかゴールデンウィークが普通に復旧で終わりそう。原稿書けないyp!

package Plagger::Plugin::Filter::Shorten

TinyURL に限定しなくて、 WWW::Shorten つかえばいいじゃん、とおもった。

package Plagger::Plugin::Filter::Shorten;
use strict;
use base qw( Plagger::Plugin );
use UNIVERSAL::require;

sub register {
    my($self, $context) = @_;
    $context->register_hook(
        $self,
        'plugin.init' => \&init_shorten,
        'update.entry.fixup' => \&update,
    );
}


sub init_shorten {
    my($self, $context, $args) = @_;

    my $site = $self->conf->{site} || 'TinyURL';
    $context->log(debug => "use $site");
    "WWW::Shorten::$site"->use('makeashorterlink') or die $@;
}

sub update {
    my($self, $context, $args) = @_;
    $args->{entry}->permalink(makeashorterlink($args->{entry}->permalink));
}

1;

__END__

=head1 NAME

Plagger::Plugin::Filter::Shorten - URL shortening permelinks.

=head1 SYNOPSIS

  - module: Filter::Shorten

=head1 DESCRIPTION

URL shortening permelinks.

Default shortening site is TinyURL.

If you hope change shortening site, setting config.

  - module: Filter::Shorten
    config:
      site: Linkz

=head1 AUTHOR

Yuichi Tateno (id:secondlife)

=head1 SEE ALSO

L
L

=cut
plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://feeds.feedburner.jp/strawberry

  - module: Filter::Shorten
    config:
      site: Linkz

  - module: Publish::Pipe
    config:
      command: /bin/cat
      encoding: utf-8

ジェットイカロス

http://xrl.us/k55d

メポー

http://xrl.us/k55e

HappyFriendProject

http://xrl.us/k55f

宇宙擬人化計画

http://xrl.us/k55g

ライトな変装ペン

http://xrl.us/k55h

メフィスト二世につづけ

http://xrl.us/k55i

地球戦隊ファイブマン

http://xrl.us/k55j

栄子の人気に嫉妬

http://xrl.us/k55k

愛の賛歌

http://xrl.us/k55m

あずみるく

http://xrl.us/k55n

ラブーン

http://xrl.us/k55o

バッカスのさけ

http://xrl.us/k55p

あんだんて

http://xrl.us/k55q

ナイスメーポ

http://xrl.us/k55r

フェイズ

http://xrl.us/k55s

Plagger::Plugin::Filter::TinyURL

package Plagger::Plugin::Filter::TinyURL;
use strict;
use base qw( Plagger::Plugin );
use WWW::Shorten::TinyURL qw( makeashorterlink );

sub register {
    my($self, $context) = @_;
    $context->register_hook(
        $self,
        'update.entry.fixup' => \&update,
    );
}

sub update {
    my($self, $context, $args) = @_;
    $args->{entry}->permalink(makeashorterlink($args->{entry}->permalink));
}

1;
plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://feeds.feedburner.jp/strawberry

  - module: Filter::TinyURL

  - module: Publish::Pipe
    config:
      command: /bin/cat
      encoding: utf-8

ジェットイカロス

http://tinyurl.com/oo8tl

メポー

http://tinyurl.com/l6zch

HappyFriendProject

http://tinyurl.com/hn6ws

宇宙擬人化計画

http://tinyurl.com/jfzou

ライトな変装ペン

http://tinyurl.com/qhwq5

メフィスト二世につづけ

http://tinyurl.com/m43dx

地球戦隊ファイブマン

http://tinyurl.com/zjcst

栄子の人気に嫉妬

http://tinyurl.com/ntf52

愛の賛歌

http://tinyurl.com/re5m6

あずみるく

http://tinyurl.com/lmgvg

ラブーン

http://tinyurl.com/z4qec

バッカスのさけ

http://tinyurl.com/p77fk

あんだんて

http://tinyurl.com/gcema

ナイスメーポ

http://tinyurl.com/fg8q9

フェイズ

http://tinyurl.com/jxwad

サブクラスだと挙動が変わるメソッド定義

Reloadable のソース読んでてなるほどなぁと思った。しかし perl にしろ ruby にしろ言語の深いところはバットノウハウたくさんだなぁ。

module Foo
  def self.included(base)
    unless base.respond_to?(:foo)
      class << base
        define_method(:foo) { true }
      end
    end
  end

  module Bar
    def self.included(base)
      base.send :include, Foo
      class << base
        self
      end.send(:define_method, :foo) { base != self }
    end
  end
end

class A
  include Foo::Bar
end

class B < A
end

p A.foo
p B.foo

結果

false
true

にてる

  • せきむらさん
  • きむらさん

てんきがよすぎる

ここちよいなぁ

rubygems における Module::Starter みたいなの

基本テンプレ(rake or spec ファイルなど)を生成してくれる Mosule::Starter みたいなのってありそうなんだけど見つからない。誰か教えて><

記事の一覧 >