2006-02-17
■ GREEキャリア > はてな社長 近藤淳也氏インタビュー(前編)
大富豪って、ど貧民から大富豪まで駆け上がる以上のカタルシスはないよね? あと、富豪の位置にいたら、大富豪と手を組む振りをして裏切って叩き落すのも楽しい。トリックスター大好きですからね。でも大富豪はガンガンいかないと落とされるのでしんどいですね。逃げ馬みたいで。
あー、300万円かぁ、お金貯めないと起業ごっこもできやしない。しかーし、(ry
という言葉があってそれに通ずるかなと思った。
ちなみに「尊敬する人」って言うのは、私のことで、つまり、
- カジヒデキ
- みーんなぼっくぅをすきー、みーんなきっみぃをすきー、みーんなじっぶんのぉことーもあいしてるぅー
ということです。
シニカルで悲観的で批判的なのも楽しもうよ!(親指立てて舌出してウィンク☆ like ペコちゃん)
中途半端……
■[mobile] ケータイポッドキャスティング - Caspeee(キャスピィ)
携帯で podcast! もしかして日本初?! かっこいいよ、id:tokuhirom と id:precuredaisuki !
ウチも若人向けサイトは携帯対応すべきなんだよなぁ。(こっそりアクセスがある、が、自分の携帯でしかテストしてないからうまく動いてるかわからない……)
とりあえず Netscape 4 とかもういいから!
■[p2p][vaporware] P2Pでストレージのシェア
ができたら、tDiary 等のオープンソースソフトウェアで、はてなのようなソーシャルなサービスが実装できるのに。
とかみんな思ってそうだけど、難しいから誰もやってないんだろうな。
他にも、不正なデータを入力された場合の対処、ACL とか色々課題が山積みだしなぁ。
■[ruby][rails] フィルタ (2)
長い道のりだった……、id:babie:20050921:p7 の続き。って9月かよ!
PHP の Smarty や Perl の TT のように 「|」 でフィルタチェインができたらええなー、と考えてたやつ。
カリー化を使ったお! 使えるお! もっと簡単な実現方法があっても気にしない。カリー化使えて満足。
#!/usr/bin/ruby
# this method was written by HORIKAWA Hisashi.
# See: http://www.nslabs.jp/ramble-200601.rhtml#28
def currying(name, *args)
if name.kind_of?(Proc) or name.kind_of?(Method)
m = name
else
m = method(name)
end
arity = m.arity >= 0 ? m.arity : -m.arity - 1
if arity <= args.size
m.call(*args)
else
lambda {|*a| currying(name, *(args + a))}
end
end
# below code written by babie.
class String
def | m
m.call(self)
end
end
class Filter
def sigh str
"..." + str + "..."
end
def sandwich(bread, str)
bread + str + bread
end
def headtail(prefix, suffix, str)
prefix + str + suffix
end
end
if __FILE__ == $0
# curry
curry_sandwich = currying(Filter.new.method(:sandwich), "---")
p "ahaha" | curry_sandwich
# def
def def_sandwich(*arg)
currying(Filter.new.method(:sandwich), *arg)
end
p "ihihi" | def_sandwich("---")
# eval
eval <<-EVAL
def eval_sandwich(*arg)
currying(Filter.new.method(:sandwich), *arg)
end
EVAL
p "ufufu" | eval_sandwich("---")
# final
class Dummy; end
(Filter.instance_methods - Dummy.instance_methods).each do |name|
eval <<-EVAL
def #{name}(*arg)
currying(Filter.new.method(:#{name}), *arg)
end
EVAL
end
p "fufuf" | sigh
p "ehehe" | sandwich("---")
p "ohoho" | headtail("<<<", ">>>")
end
出力:
$ ruby filter.rb "---ahaha---" "---ihihi---" "---ufufu---" "...fufuf..." "---ehehe---" "<<<ohoho>>>"
ここまでくれば Rails に載せるのも、そう遠くはあるめぇ。

