「Perl」を含む日記 RSS

はてなキーワード: Perlとは

2008-06-18

プログラミング天国はてな

スーパークリエイターとか天才プログラマって、IPAが評価しているものでしょ?

役人とか国とか嫌いな人が多いのに、そういう評価は絶賛するってなんかおかしくね?

とおもってググってみたら、「未踏のレベル下がってきてる」とか「称号連発しすぎ」とか「あの程度のレベルで取れるのはおかしい。もっと優秀な人は世の中にごろごろ転がってる」という意見がちらほら。「CやPerl、ましてやPHPなんて使えてもなあ」という方もいた。

この記事もそういう話につながるかもしれないね。曲解だけど。

まあ、はてなではショボいPHPコードがちょろっと書けるくらいで神扱いだから、そりゃスーパークリエーター様は神以上の存在として崇められて当然だわな。世の中と価値基準がかけ離れているのも分かる。

2008-06-10

諸君、私はC++が好きだ

諸君、私はC++が好きだ

諸君、私はC++が好きだ

諸君、私はC++が大好きだ

演算子オーバーロードが好きだ

テンプレートが好きだ

STLが好きだ

Boostが好きだ

FC++が好きだ

Windows

Mac

Linux

BSD

Solaris

この地上でコンパイルされるありとあらゆるC++が大好きだ

演算子を多重定義できるC++が好きだ

演算子意味が変わり、直感的なコードが書き下せる時など心がおどる

テンプレートが使えるC++が好きだ

動的言語の優位性を語っている奴等にそれを見せた時など胸がすくような気持ちだった

Boostが好きだ

Boost::lambdaを使って(_1 + _2)と二つの引数を足算した結果を返す無名関数を定義した時など感動すらおぼえる

Boost::regex正規表現を書く時などもうたまらない

Boost::shared_pointerでオブジェクト自動的に解放されるのは最高だ

納期に追われて急いで書かなければならないパーサを

Boost::spiritBNF記述して書いた時など絶頂すら覚える

マルチパラダイムC++が好きだ

そんなC++が複雑だと思われているのはとてもとても悲しいものだ

テンプレートが好きだ

エラーメッセージ意味不明だと言われるのは屈辱の極みだ

諸君 私はC++を 変態の様なC++を望んでいる

諸君 私に付き従うC++好きの諸君 君たちは一体何を望んでいる?

更なるC++を望むか 

糞の様なC++を望むか?

BoostFC++によってさらに変態的になっていくC++を望むか?

C++!! C++!! C++!!

よろしい ならばC++

だが、LL全盛の時代の陰でもはや組み込みHPCぐらいでしか使われないという中傷に耐え続けて来た我々には

ただのC++ではもはや足りない!!

C++を!! 一心不乱の大C++を!!

我々はわずかに小数

PerlPHPPythonRubyJavaScriptに比べれば物の数ではない

だが諸君は一騎当千のBinarianだと私は信じている

ならば我らは諸君と私で総兵力100万と1人のコンピュータサイエンティスト集団となる

我らを忘却の彼方へと追いやり、インタプリタしか知らない連中を叩きのめそう

髪の毛をつかんで引きずり下ろし 眼(まなこ)をあけて思い出させよう

連中コンパイラの偉大さを思い出させてやる

連中インタプリタでは実用的なプログラムが書けないということを思い出させてやる

C++には奴らの哲学では思いもよらない書き方がある事を思い出させてやる

1000人のBinarianの集団で 世界変態的なコードで埋め尽くしてやる

目標 世界のありとあらゆるプログラム

一億総合コンパイル作戦 状況を開始せよ

逝くぞ 諸君


http://wids.net/lab/sukida.htmlで生成。

2008-06-05

[][]燃えムース

ちょっとアレ見な Moooooooooooooooose!が通る

すぐれものゾと 街中騒ぐ

さくさくクラス (さくさくクラス)

継承クラス (継承クラス)

あいつの噂でNantoも走る

それにつけても俺達ゃなんだろう

アクセサ1つに キリキリまいさ

Moose, Moose, Moose, Test and Moose

いつかきめるぜ 稲妻トーク

そんとき俺も Perl Mongerさ

Moose, Moose, Moose, Test and Moose

燃えYAPC 駆け抜けろ

[][]Moose?Mooseってなんだ?あれか?整髪料か?え?Perl

最近Perl界隈ではMoose、MooseってなんかMooseってのが流行ってるらしい。

もう完全に出遅れてしまったので増田で書き殴ってみる。

自分自身のブログでは、さもずっと前からMoose知ってたかのように振舞うために、増田で先に放出しておく。てへへ。

プログラマ層が限りなく低い増田にこんなこと書いてもだれも見てくれない気はするけど。

初めてのMoose - Mooseのすすめ - はてな#hide-k

初めてのMoose

meta object protocol について考えてみる - TokuLog 改めChumbyとどきました日記

YappoLogs: Moose のコードを探索して理解を深めた

Mooseってのは結局のところClass::MOPのラッパーみたいなもんだと。

で、Class::MOPってのは何だ?ってことだけど、メタなんとかプログラミング?え?プロトコル?まーどっちでもいい。

よくよく読んでいくとメタなんとかとか大層な名前が付いてるけど、結局のところPerlのpackageそのものの操作をオブジェクティブ扱えるようにしたものみたいだ。

つまりだな、例えばpackageに対して動的に(静的ではなく!)メソッドを追加したい場合、今までなら


package Foo;

**Foo::method = sub {
	return 'hoge';
};

print Foo->method;

のように型グロブに関数リファレンスを突っ込むということをしなければなかったが


use Class::MOP;

my $class = Class::MOP::Class->create('Foo');

$class->add_method('method',sub {
	return 'hoge';
});

print Foo->method;

みたいな感じでかっこよく追加できるってわけさ。ま、これはほんの一例だけどな。(他にもメソッドを削除したりフックしたり色々できる。その辺は今回省略。)

本来なら「package Foo」とするところを「my $class = Class::MOP::Class->create('Foo');」と書ける。

これの何が良いのかというと、$classというオブジェクト経由でFooパッケージを色々操作できるところにつきる。

型グロブを使用したり「no (warnings|strict)」をしたりパッケージを操作する処理っていうのはPerlのキチャナイ構文が多かったのだが、Class::MOPのおかげでスッキリ綺麗に書けるようになったってこった。

で、次にMooseだが、これは結局のところClass::MOPのパッケージ管理の部分に+αしただけのラッパーだ。

でもその+αってのが結構凄かったりする。

もうこの辺の話はさんざん既出だが、例えばhasという関数を使ってアクセサや型定義が出来たり


package Foo;
use Moose;

has 'method' => ( is => 'rw', isa => 'Int' , default => '10' );

my $obj = Foo->new;

print $obj->method;   # 10

$obj->method(50);

print $obj->method; # 50

$obj->method('hoge') # Int型じゃないのでエラー

Moose::Roleを使ってRubyのMixinみたいなことができたりする。

でも実はこれらの処理ってのは本当は別に凄くもなんとも無い。

アクセサ生成なんてClass::Accessorがあるし、関数引数の型チェックなんてのもParams::Validate等昔から存在してるし、Mixinに関してはもともとPerlは多重継承できるので最初からできるし。

じゃあなんでみんなMoose、Moose言ってるのかっていうと、それはやはりClass::MOPの存在が大きいであろう。

綺麗且つ柔軟にパッケージの操作が出来るClass::MOPが土台にあって、今まで別々の役割として存在してきたモジュール達を統合し、よりわかりやすく、より柔軟に、そしてより強力なPerlオブジェクト指向を構築できるようにした。それがMooseなのだ。



・・・しかし、小生。

Mooseについて調べていくうちに一つ残念に思ったことがある。

オブジェクトにメソッドを追加する機構がないのだ。

オブジェクトにメソッドを追加する、だ。パッケージにではなく、オブジェクトに、だ。

具体例をあげる。


package Foo;
use Moose;

my $obj = Foo->new;
$obj->meta->add_method('hoge', sub { return 'hoge' });

print $obj->hoge; # hoge

ちなみに$obj->metaというのはFooパッケージを管理するClass::MOPへのアクセサだ。

ということは上記の処理はFooに対してhogeというメソッドを追加していることになる。

では次の例。


package Foo;
use Moose;

my $obj = Foo->new;
$obj->meta->add_method('hoge', sub { return 'hoge' });

print $obj->hoge; # hoge

my $obj_2 = Foo->new;
print $obj_2->hoge; # hoge

$obj_2->hogeが呼べてしまうわけだ。

$obj->metaは結局のところFooパッケージなのだから、そこにメソッドを追加しているので当然の結果である。

$objだけにメソッドを追加することは、Mooseではできないのだ。

非常に残念である。ああ、残念だ。




・・・しかし、小生。

これでもプログラマの端くれである。こんなことでめげていてはMooserを名乗れないのである。(あ、MooserってのはMoose使いの人の俗称ね。今僕が考えたの)

なのでオブジェクトにメソッドを追加できるように拡張して見せよう。


package Foo;
use Moose;

use Class::Object;
my $class_object = Class::Object->can('new');
override new => sub { ref($class_object->(shift))->SUPER::new(@_) };

my $obj = Foo->new;
$obj->meta->add_method('hoge', sub { return 'hoge' });

print $obj->hoge; # hoge

my $obj_2 = Foo->new;
print $obj_2->hoge; # エラー

たった3行追加するだけで実現できる。さすがMoose。

ただし、Class::Objectを利用しているのでFoo->newで返ってくるパッケージがFoo::0といったようにFooではなくなってしまっているのでrefとかでパッケージ名の比較ができなくなってしまう問題が発生する。

でもこれも継承順をいじったりと本気で頑張れば、表向きに見せるパッケージ名をFooすることも可能だろう。

その添削の役目はどこかのハッカーに任せるとして、今日のところはこの辺で終了としたい。

Moooooooooooooose!と叫ぶのが流行ってるみたいなので、もっとも長くMooooooooooooooose!と叫んだ最初の男となるべく下記の処理を残しておく。


length q chdir uc and print chr ord uc q rmdir and do { print chr ord q xor x while $a++ < 0xffffffff } or print chr ord qw q sin q and print chr ord q ne sin and print chr hex length q q shift shmread bless q;





プログラ増田のあなぐら

2008-06-04

1個のリンゴと1個のリンゴを足し合わせて、1杯のリンゴジュースを作ってみた

1合のお米と1合の水でご飯を1合分炊いてみた

1本のバナナと1本のバナナを使って、4杯のパフェ

1枚の硬貨と2枚の硬貨で缶ジュースを1本買った

時に、1メートル歩いた後に、もう一度同じ方向に1メートル歩いてみたところ、

厳密に2メートル歩くことがどれだけ難しいかわかった気がする

一人のプログラマと三人のプログラマを足してみたところ、気が合わなかったらしく誰もいなくなった。

1年C言語勉強をして、別の1年にPerl勉強したところ、あと1年はHaskelをやろうと思ったがやっぱりやめた。

チョコバナナ食べたい

2008-06-02

アナルパール(analperl)

名前だけ聞くとperlプログラム解析ツールみたいですよねー。

知ったかぶりして迂闊な返事をしなくて本当によかった・・・

さくらのレンタルサーバ ライトユーザが書く実情(または宣伝もしくは疑問)

http://anond.hatelabo.jp/20080601175525

他の有料レンタルサーバを使ったことないので、あてにはできないけど。

総評

ライトプランの制限

重要なこと

プラン変更は出来ない。変更したい場合は別プランで新規登録後、データを移すことになる。

その他

実際の環境

公式にはこちら

以下私の環境。これは割り当てられたサーバにより多少の違いがあり得る。その他詳細はアカウント毎に確認できる。

CPUIntel(R) Pentium(R) M processor 2.00GHz
メモリ2GB
OSFreeBSD 6.1-RELEASE-p23 i386
ApacheApache/1.3.39
Perl5.8.8
Ruby1.8.5
Python2.4.5

主なperlライブラリ

2008-05-27

PHPで自称ギークとかアホか。

Perlならまだ分かる。

PHPで自称ナードでも分かる。

PHPで自称ギークって何だ?

ああ、なるほど。PHPで実装じゃなくて、PHPを実装する人なのか。

これは失礼。誤解してました。すんません

2008-05-21

奥手な増田にもできる初対面の女性と話す方法。

http://anond.hatelabo.jp/20080521225143

とりあえずタブーから書くと、

政治(話題として堅い、つまらない、結論・オチがない)

宗教マナーとして)

・性(まあ普通しないわな)

過去恋愛(これもしない)

学歴(「東京大学行ってた」「八王子大学行ってた」などボカすなら、後述の地域ネタとしてアリ)

・話を否定しない(他の項目と比較してちょっと毛色が変わるが、マイナスイメージ言葉は、会話では使わないほうがいい)

まず「話す」ってことは

1:こっちの話をひたすらして盛り上げる(攻撃的会話)

2:共通点を見つけてお互いが盛り上がる(積極的会話)

3:相手が話したいことを話させて、盛り上げる(消極的会話)

の3つがある。

1はまず奥手な増田には無理で、話術が巧み、話題が豊富なやつじゃなければ、KYだったり自慢話、オレ話の痛い奴になりかねない。失敗談をジョークを交えつつ話して笑いが取れればいいが、滑ればただのグチになる。

2と3をうまく使い分けるのがいい。

緊張してるのはこっちだけじゃない。「初対面ならお互い緊張してる」ってのを覚えておくと、多少気持ちが楽になる。

相手が話したそうだったら、まず最後まで聞いてあげて、質問がきたら答えにプラスアルファで話が広がるようなネタを入れてから、同じ質問を返す(あいてがプラスアルファに食いついてきたら、そっちの話を優先したほうがいい)。

相手「増田さんってどこからきたの?」

増田調布。○○っておいしいラーメン屋が近くにあるんだー。」

で、相手がラーメン屋で食いついてきたら、「どこそこのラーメン屋は行った?」「どこのラーメン屋が好き」などと、話を広げていく。

スルーされたら、同じ質問を返す。行ったことのある場所なら、そのときの印象を話したり、乗り換える駅なんかの話をすると喜ばれる。言ったことのない場所でも、「○○が近くにある所?」と近くの名所や名物などの話をする(自分の地元やその近くを知っているとなると、親近感が沸きやすい。)

ある程度話好きな相手なら、知らない話でも「教えてもらう」というスタンスで話を聞いていけば、相手は好きなことを話せるので話が盛り上がる。もちろんこの時に話の途中途中で、続きを促すツッコミ・相槌をしなくてはならない。

相槌としては、

・「いいなぁ」(羨望)

・「すごいね!」(羨望)

・「え、そうなの!」(尊敬

・「詳しいね??」(尊敬

・「そうだよね」(同意)

・「俺もある!」(同意)

基本は否定せずに、相手に対して同意したり、持ち上げたりすることで、「僕はあなたの話に興味を持ってますよ、楽しんでますよ」というアピールをする。

ツッコミとしては、

・質問をする(「Perlって俺挫折したんだけど、難しくない?」)

※的はずれな質問をすると目も当てられない。(「Perlって誰が作ったの?」→知るかヴォケ)

・類似のものを聞く(Perlやったことあるんだ、じゃあPHPは?)

※自分の話せる話題への前フリである点に注意。

・話題を深める(PHPやったんだけど、xxxxがxxxxxxで云々)

プログラムはかじった程度なんてよくわかりませんすみません。

あああここまで書いたら疲れたよ。

あとは趣味を聴いて共通点を見つけることかな。

映画ネタ

音楽ネタ

・地域ネタ過去に同じような地域で生活してると、けっこう盛り上がる。誰でも話しやすい。)

趣味ネタ(いきなりディープネタは振らずに、好きな人なら知ってる範囲から掘り下げていく)

職業ネタ(誰でも話しやすい。ただしつまらないグチにならないよう注意)

てなとこか。

えらそうに?書いてみたけどどうなんだろうね。俺も教えてほしい。

日本はてなユーザのためのハブサイト

YAPC::Asia 2008 で Michael Schwern は「SEO に有効な独自ドメインを取って、もっと Perl 初心者が集まりやすい nice な Perl情報を集めたサイトを作れ!」といったそうです。

そして「Perl-users.jp - 日本Perlユーザのためのハブサイト」ができました。

そしてさらにインスパイアされてできたのが「AS-users.jp - 日本ActionScript ユーザのためのハブサイト」です。

ここまでやったらやっぱりPHPも思ったのでphp-users.jp ドメインを取ってしまいました。ジーザス、です。しかもドメインをとって勢いで公開!困ったものです。

以前より hatena界隈では、初心者や複雑な hatenaの話題をキャッチアップ出来ない hatena利用者をどうすくい上げるか、という議論を盛んに行っておりました。

これは酷いという思いから hatena-user.jp ドメインを取り、ここに hatena-users.jp を開始します。完全に perl-users.jpインスパイアされています。本当にありがとうございます。

2008-05-08

http://anond.hatelabo.jp/20080507230338

なにしようとしているのかさっぱりわからね。

つーか、ぐねぐねしてて…なんかperlって感じ。

for($i = 2; $i <= ($s+1) / 2; $i++){

単純なはなしだけど、ループの中で計算させないほうがいいよ。

$i <= ($s+1) / 2

たいしたあれじゃないけどね、毎度評価されるから。

あと

if($ox[$s] ne '' and length $ox[$s] < $min){

とか

XXX ne ''

とかここらへんもなんか同じことをずいぶん繰り返しているようにみえる。

パールっぽいっちゃパールっぽいけど、、さ。

2008-05-04

コーダーよりプログラマーになればいい。

http://anond.hatelabo.jp/20080504201241

コーダーデザインがあって初めてできる裏方的仕事で、表現活動ではない。

建築家は表現者かもしれないけど、大工が表現者じゃないのと同じ(かな)。

javascriptphpperlなんかも関わるので、今後は覚えていきたい気持ちも満々。

であれば、プログラマを目指していけばいい。

で、WEBサービスなんか立ち上げることで、表現活動を行っていけばいい。

コードを書くことと生きることってどうつながってるんでしょうか?(

一年くらい前からwebサイトの受託制作バイトをするようになったんです。それまでは親からの仕送りで生活してたんですけど、そうもいかなくなり、web制作は自分の関心と金稼ぐにぴったりだったもんで。

一年やって思ったのは、自分はプログラミングみたいなことが相当好きだということ。正確に言うと僕はプログラマーじゃなくて、いわゆるコーダーで、htmlcssを書いているわけだが、好きなだけあって上達も早い。デザインコーディングの分業をしてる会社じゃないんだけど、最近はもっぱらコーディングを任される。社内で一番キレイでわかりやすいコーディングを書ける自信がある。うまくコーディングがいかなかったときは、疲れていても、帰りの電車の中でどうすればエレガントにできるかって考えてしまう。そのくらい好き。web制作だからhtmlcssだけわかればいいということはもちろんなくて、javascriptphpperlなんかも関わるので、今後は覚えていきたい気持ちも満々。全然飽きる気も、手が止まる気もしない。

だから今後もこの道で飯を食ってくとは思うんだけど、コードを書く面白さにちょっとひっかかりがある。それは美しくわかりやすいコードを書く情熱が、自分が生きること、この世界で生きることと、どうつながっているかわからないということ。

具体的に言うと、文章やら絵やら演劇やらの表現活動って、その人の生と直結してる感じがするじゃん。政治活動とかデモとかも自分が生きることと世界とつながってる感じがするじゃん。でも、美しいコードを書くこととが、生とどうつながってるのかがよくわからない。

つなげる必要なんてないかもしんないけど、こんな愚問を増田にわざわざ書いているように、生きる意味とかどうしたらもっと生きやすくなるのかしょっちゅう考えてしまうわけ。それでいろいろジタバタしてきて、今も相変わらずしてるわけだけど、その中でコードを書くことが最もしっくりする。落ち着くというか。純粋情熱を傾けられるとか。

別に24時間コードを書いてるわけじゃないし、コードを書く以外にもいろいろやってるわけだし、最終的にはwebという目に見える形になるわけだから、そういうことを通じて、自分の表現みたいなことをしてけばいいのかもしんないけど、コードそれ自体に情熱を傾けてるなら、そのコードに直接自分の葛藤とかを表現できないのかなって意味不明な欲がでてくるわけ。自己実現欲求みたいなものがコードで解消できないのかって思うわけ。

補足すると、これに似たようなことに数学が上げられる。僕は高校まで数学が好きで、数学科行くことも考えたんだけど、ばりばりの中二病で(今もそう変わらないけど)、環境問題に対してヒステリックな関心を持っていたから、数学は面白いけれど、環境問題だ!って、そういう学部を受けました(落ちましたけど)。数学は好きだけど生きることとどうつながってるのかよくわからないという疑問から、数学史とか科学哲学系の本とか読んで、何となくは、数学的な思索と社会背景とか思想の潮流とつながってるんだと知りました。けれど、いざ、コードを書く問題を前にすると、当時と同じような疑問は依然としてあります。

本当に愚問かもしんなけれど、プログラマーのみなさんはそこらへんをどう考えているか聞きたいです。数学でもいいです。

追記

反応嬉しいです。ただ僕へのアドバイスより、みなさん自身が、プログラミングてすごく面白いけど、この世界とどうつながってるの?、自分が生きることとどう関係があるんだろって疑問を持ったことがあるなら、どういうふうに抱えているのか、その気持ちをどういうふうに解消しているのか、どういうふうに処理しているのか、聞きたいのです。プログラミングに生きる葛藤みたいなのを直接投影させるというのはそもそも間違ってるかもしれません。そういう気持ちは、全然別のことをやったり、友人と話したり、ブログに吐き出したりするのが関の山でしょう。でもプログラミングが好きで情熱を傾けてる人なら、プログラミングを通した自己表現、自己実現みたいなことを考えたことがあると思うで、聞いてみたかったのです。

http://anond.hatelabo.jp/20080505020148で、

誰もが「芸術家」として生きられると思うのがそもそもの間違いなんだよな。

という意見が書かれてましたが、「芸術家」かどうか関係なく、プログラマーはまずは人間ですから、質や程度の差こそあれ、自己表現欲求や生きる葛藤みたいなのを抱えると思います。繰り返しますが、そこらへんの思いと自分のプログラミングが結びつけている人がいるなら、どう結び付けてるのか、結びつけないのならどう結び付けていないのか聞きたいです。

あと、http://anond.hatelabo.jp/20080504230316で書きましたが、「プログラミングなんてしょせんコンピューターの中の世界にすぎないでしょ」(実際はこれだけ人の生活に影響与えているんだからそんなことないはずなんですけど、僕はそういう思いが拭い去れない)っていうプログラマー故の虚無感、ニヒリズムがあれば、どういうものか聞いてみたいです。もちろん、それをどう処理しているのかも聞きたいです。

※ここまで書いて、収集の付かない無理難題を言ってるなぁとつくづく思いますが、何か少しでも反応するものがあれば、反応していただくと嬉しいです

追記2 つ・な・が・りをどうして感じられないのか?の理由

世界とどうつながってんの?」っていうおっきな問いを掲げていたわけなんですが、どうしてそういう問いが出てくるかと考えてみますと、僕がコーディングしてるサイトって、コーディングが始まる段階まで僕がほとんど関わっていないし、クライアントがどういうつもりでサイトを作りたいのか、どうしてこういうふうにフィックスしたのか、その経過を知らない場合が多い。もちろんラフデザイン原稿見ればクライアントがどういうところかわかるわけだが、だいたいは制作するサイトの内容に意識を持ってくと、疑問が出てきたり、気に食わないって思ったり、場合によってはこんなこと言ってる奴は「死ね」とか思うわけ。でも「死ね」と思って、放り投げたり、その段階でクライアントディレクターに文句なんて、言えない。軋轢怖いし、進行を止めちゃうし、生活がかかってるし。そもそも言う発想さえない。でも内容無視でも、コーディングそのものに十分な魅力があって、いかに良いコーディングするかというところで十分に面白い。逆に、内容に関わると、葛藤が増えてコーディングに集中できないという面もでてくる。コーディングって内容関係なしに自己完結できてしまう魅力がある。自己完結と言っても、正確に言うと、自分一人じゃなくてコーダーならコーダー世界の中での完結だけど。クライアントの意思と切り離れたところという意味で完結できてしまうということか。でもそこの魅力だけで突き進むと、当然、自分のやってることが自分だけで閉じてる感覚になってくるわけ。面白いことは面白いけど、こんなんでいいの?って疑問がでてくるわけ。で、結果、自己実現したいとか虚無感とか抽象的なわりにおっきくて重い思いを抱えちゃうのかな。

だから結論を言えば、web制作に携わるなら、もっと制作全体に携わるようにしてけばいいんだよなって思います

ただ、まだグルグル考えちゃうことがあって、閉じた世界にとどまらないで全体性を獲得していこうって発想には、閉じた世界にとどまることへの嫌悪感から来ていると思う。甘美さもすごくわかるよ。ロマンチックだし。でも閉じてないで全体性を獲得していこうって言われたら言われたで、「人間こうあるべし」みたいな説教っぽいというか胡散臭さがつきまとう。いずれにせよおさまりが悪いです。

だからなのかか僕は「おたく」に対してずっと愛憎があります。

2008-04-22

Perfume 人気は「やらせ」

Perfume が仕掛けたのはバイラキャンペーンである TNO(Total Net Optimization)で、実はそれほど人気があるわけじゃないよという話。


今回、特定の人物のすべてのネット上の活動において Perfume を扱ってくださいねというキャンペーンを仕掛けた。

SMSウィークリー情報コーナーに続き某 Perl 系の有名人、有名作家ネット企業スタッフといったはてなキーパーソン(笑)に、はてなダイアリーはてなブックマークmixi日記Twitter、IM 等で Perfume の話題をするように要請し、一回書いてくれる毎にブロガーに 50 円をあげていると思われる。

たかが 50 円というなかれ、大きく積もれば 500 円、600 円にもなる。


なので Perfume 人気はすべて仕組まれたもの。

もちろん紅白に出るので来年もまだ人気は続いていくが所詮それまで。

歴史に名を残すアーティストというわけじゃない。

※先日「ミュージックフェア」を見たが思いっきり口パクだった・・。


騙されてはいけない。

2008-04-21

http://anond.hatelabo.jp/20080421141701

やっと言いたいことがわかったのでまともに話ができるかもしれん。

俺はその反論1の質にしか興味がない、というか、その例1を引き出すための挑発として最初の質問を仕掛けてる、という側面があるんだよね。で、案の定真っ先に例1で応じてんだから世話がない。

だったら釣られた俺が馬鹿だったし、あんたも相手を間違えた。それだけのことだな。

あと、興味はないとはいえ一応指摘しておくと、その例1例2例3といくつも用意するやり方においては、例1と例2と例3が矛盾対立するようなものであってはならないはずだろう。でなければ、ためにする議論になってしまう。話者に一貫したスタンスというものがなくなってしまうからね。

言いたいことはわかる。ただし、俺のスタンスはいわばメタなもので、「この前提は絶対に正しいからまず認めろ」というのがまず嫌なんだよ。むしろ、「あんたが絶対と信奉している価値観は別に万人が無条件に認めるような絶対的なものではない。あんたと相対立する価値観にもそれなりの合理性があるはずだ、例1、例2、例3など。さて、どこを議論の出発点にしようか?」ということを誰に対してもまずやる。逆に言うと、俺が信奉している価値観を正しいと押し切る根拠なんてどこにもないと思っているから、価値判断の源泉については「見せろ」と言われなければ見せない。宗教論争になるのがいやだからね。

ちなみに、こんな話もある。細部は違ったかもしれん。

釈迦が人に「神はいるのか」と問われて、「いない」と答えた。ところが、次に人が来てまた同じことを問うたとき、「いる」と答えた。これを見ていた弟子が「どうして矛盾する答えをするのか」と問うと、釈迦は「あの二人が『神』という言葉のもとに思い描いていたものは違うではないか」と答えた。

別に自分を釈迦と並べているんじゃなくて、「神」の定義が違う人間が二人で言い争うのは嫌だということね。相手の土俵を推定して、相手の土俵でものを言わないといかんだろうと。

ディベート戦術としてでも、なんでよりにもよってこんな反論選ぶんだ、と俺は思ってしまうわけだ。

あんたに納得してもらいやすい話を選んだつもりが裏目に出たというだけだよ。正直、あんたのことを当初の言動から「学校勉強なんか役に立たん、英語コミュニケーション能力だけがあればよいのだ!」的な反知性主義者だと想定したもんでね。さすがにそれが釣りだとは想像できなかったが。

うーん? それ英語言語としての性能とは関係のない議論だよなあ。

俺が言いたいのは、あなたのように公平性を重んじる価値観からは、英語採用する理由は全く出てこないだろうということ。言語の性能(性能というより習得の容易さだな)はその中の例示の一つにすぎない。

別に俺は古典教育の廃止を唱えているわけではないんだよね。何度か言ったけど。

廃止と言わぬまでも、量を減らせとは言っただろう?なし崩し的にゼロになってしまう論法だから反対したわけだ。正直、「上を下に合わせさせる」というのは暴力的だと思う。

どこかの象牙の塔の一室ではそれで通用するのかもしれんが、企業社会ではちょっとダメだそれ。

情報工学」全般の話をしているのに企業社会だけを想定する必要などなかろう。大雑把な言い方をすれば、大規模情報システムだけがITの全てではないということだ。

だいたい、Cやアセンブラが使える人間JavaやらC++を覚えて標準的な書法で書くことは、好き嫌いはともかく本質的には難しいことではないわけで。道具の使い方を覚えるということに対して「必要があればやるけれど、必要がなければやらない」というのは非常に当たり前の立場だと思うがね。

で、どのC++クラスライブラリが重いというのか、とか、C++FORTRANについての議論については、君は全面撤退ってことでいいのかな? 具体的に質問に答えなくなっちゃったからなあ。

どっちでもいいよ。だいいち、数値解析の専門家C++で書いたコード普通の数値実験屋がCで書いたコードの性能の比較なんて問題は非常に枝葉末節じゃないか?そもそも、「普通の数値実験屋」がどういう奴かという範囲の取り方でいくらでも恣意的な結論が出てくる話だから、議論して実になるとも思えない。

そもそもそんなことを言えば、FizzBuzzすら書けない奴がCで書いたコードより速いコードPerlなんかで書くことさえできてしまうかもしれないが、そんなの別に自慢にもならないし、(たとえば)数値計算Perlを使っていい理由になんてならんだろ。俺も論旨を混乱させた責任はあるが、そもそも話がずれすぎている。俺が言っているのは、「速いコードを書くことが理論的に可能かどうか」ではなく、「速いコードを書くために本人が持っているべき素養」の話をしているわけで。

そしてそもそもこの話自体「素養」というものが必要か否かという点から分岐したものだから、その意味でもこの話は必要なかろう。


以下蛇足。

あと、ギリシャ民主主義については明確に誤解。ギリシャ伝統を引いてくるのは反王権主義者が持ち出した大義名分的なものであって、明治維新で倒幕派が天皇を担ぎ出したのと同じこと。

それ相当偏った歴史観じゃね? ためにする反論なのか、それとも本気なのか、どっち?

俺はむしろ君の方が相当偏ってると思うけどね。だって古代ギリシャ民主政が途絶えてから一体何年経ってたわけ?それに、市民革命の基盤になったのはむしろ封建議会の方なわけで(これもいちゃもんはつけられるけど)、これはむしろゲルマン文化のはずだよ。それをどうギリシャ文化の伝統と理解するのかかなり不思議明治維新だって王政復古を唱えていたが、どう考えてもあの政体は西洋からの輸入品でしょ。同じことだよ。あんな政体が歴史日本存在したことはなかった。なんで戦前、あんなに後醍醐天皇があんなに高く評価されたと思う?

いや、貴族階級は言いすぎだろ。市民階級でいいと思うんだが、そこは。元々民主制って始まりはそういうもんだろ。惣とか寄合から近代民主主義を導けるというならやってみてくれよとしか。

ちょっと調べてみたが、貴族階級は余り適切でなかったようだ。そこは撤回

導けるわけがないから聞いてるんだよ。ただし、始まりはそういうもんに決まっているが、それが本当に現代と連続性があるのか、と俺は聞いているわけなんだが。

そもそも、都市が自治を行うのはギリシャポリスじゃなくても歴史的に普遍的な話なわけで(英語Wikipediaを引いたら戦国時代の堺が挙げられていてびっくりした。さすがに思いつかなかった)、誤解してるかも知れないけど日本江戸時代でさえ町役人って町人階級だからね。つまり、民主主義にとってはギリシャ思想が必要不可欠なものであるという根拠はますます疑わしいと思うんだ。だいたい、それを言い出したらアメリカはなんなの?あれこそ、草の根民主主義たる植民地自治政府の発展じゃない?

2008-04-18

http://anond.hatelabo.jp/20080418010901

ほう、その辺の本には「神」なんて言葉が乱舞しとるがな。じゃあ日本古典がどう宗教価値に直結しとるんだ?

そりゃ「影響」はしてるだろうがな。別にキリスト教の神である必然性などない。/いや、親鸞の書いたものは当然古語で書かれてるでしょ?

「一般人レベル」でいうのなら、欧米先進国様の古典を学ぶ意義と同程度のものは間違いなくあるよ。

いや、自明とか間違いなくとか言われてもなあ。具体的に挙げてくれる? 君の議論の最大の弱点って多分具体性がないことだから。

グレコ・ローマン文化の話じゃなかったのかよ。近代以降ならそりゃ当然だろ。

いや君がニュートンを引き合いに出したんでしょうに。民主主義に関してはギリシャにまで遡って意義深い書籍を見つけることは出来るだろうなあ。

ほら、君は「??だとすれば」という仮定が読めないんだよね。

で、いつまで撤回した仮定を引きずるわけ?w

あとさあ、まやかしまやかしで構わないけど、そういう意味なら俺は英語の「役に立つ」もまやかしだと思うがねえ。

何かひとつ共通言語がないとITなんてやってられん、というのは厳然たる事実だろ。

一方で、文化資本による格差なんぞないほうがいいに決まってる。

東大卒は毎年数千人だ。それで、MIT卒は何人いるか知ってる?ハーバードは?プリンストンは?スタンフォードは?オックスフォードは?ケンブリッジは?

数千人か。なおさらたいしたことないな。で、MIT卒全員をエリートと呼んだ覚えはないが?(他の大学もね)。

仮にそうだとしても、「年に数人」レベル人間「教育」なんておこがましいと思わんか。

まあそうね。勝手にどこかで学んできそうな気はする。

教育ってのは、特に公教育ってのは、底上げのためにやるもんであって。

誰も「普通東大生数百人のレベルをギリギリにチューンする」なんて言ってないし、そもそも東大生の中で「教育制度がもっとよければ俺はもっと偉くなれた!」なんて言ってる奴は落ちこぼれだけだよ。だから「普通東大生数百人のレベルをギリギリにチューンする」という発想自体がそもそも無意味

いや、お前そういう話しかしてなかったじゃんw 俺が公教育は平均と底辺を上げるためのものだと主張したらやたら激しく反発してたよなあ?

いや、主流の座から滑り落ちたものを普通スタンダードとは呼ばないだろう。

主流と標準を辞書で引くことをお勧めする。そりゃ、主流が標準を塗り替えてしまうことは結構あるが、少なくとも数値計算世界ではまだだろう。過去の蓄積ってのがあるんだ。

Cを使ってアセンブラまがいのコードを書き、新しい言語なんて覚える暇があったらもっと他のことをするとかなんとか言ってる人だって一定の比率で存在する。おわかり?

それは、特にアセンブラが必要でもないケースでか? ちょっと勘弁して欲しいなw まあ仕事としてうまくやれてるならそれでもいいけどさ、特殊ケースだろ?

まだ、例えば専用プロセッサなり組み込みデバイスなりを制御するためにアセンブラ使うってほうがはるかに一般的なケースだと思うがな。数値計算パターン認識においてさえ。

どうも話が巧妙にずらされてる気がするんだが。

いや、君自身RubyとかPerlとかC++とかJavaとかに言及しちゃったからねえ。どっちが引っ掛けたかというのは不毛になりそうだからやめようや。なんなら俺がズルかったということにしてもいいが。

たとえばいきなりJavaを覚えさせられた人間がそれがわかるとは到底思えない。ライブラリソースを読めるレベルになってはじめてわかることだろう、それは。

いや、Javaライブラリソースを読むレベルになったらたしかにかなり専門的だが、そもそもJavaで書いたコードで高速計算させようというほうが間違いなわけで。

C++に関して言うなら、アセンブラ的な最適化に手を出すのはだいたい最後の最後だろう。俺(や多分君)のような古い世代はアセンブラからの積み上げで高級言語を見るけど、高級言語の側から必要なレベルまで掘り下げていく、という見方も可能なはずだし、最適化の上ではむしろそちらが本筋。

で、君が重いクラスライブラリとして想定してるのはなんなの? ちゃんと最近のものを使ってれば、そんじょそこらの奴がCでちゃっちゃと書くコードと同じかたいていは速いコードを生成するし、もちろん可読性も高くなるな。

C++の話も同様。敢えて「C++らしい」処理を書けば計算量はどんどん増えて、例えば行列カプセル化して演算子オーバーロードしてなんてことやってたら計算時間が倍ぐらいになってもおかしくはないだろう。一晩で終わる計算が翌日の昼までかかるということになったら作業効率には歴然たる差が出るぞ。

具体的にどこの出してるC++行列演算ライブラリがそこまで効率悪いって?

(補足追記)

最近C++用の数値演算ライブラリはかなり出来がよく、FORTRAN用のそれに性能で肉薄するところまで来ている。そう、ここでは、ライバルは君が主流からも標準からも蹴落とされたと主張したいらしきFORTRANなんだよ。

で、どの辺がネックかというと、君の言うように記述性と実行速度の関係だったりはする。でも、それは低水準処理がどうこうという問題ではないよな。

この件については、議論してる人がネットでも結構いるから読んでみるといい。君が思うほどにC,C++圧勝しているわけではないよ。随分C++が向上してはいるけど。で、FORTRANのほうが言語の構造上最適化が効き易い等の話題はあっても、手作業で機械語レベル最適化をするなんてのは、候補にさえ挙がらないな。

2008-04-16

http://anond.hatelabo.jp/20080415182703

実行してみたら出力に変化がなかった。アルェー?

おっと、バグが。ちゃんとテストしてなかった。すんまそん。

# tree -pugs | perl -e '@line=<>; $max=(sort {$b<=>$a} map {/^(.*?)\[/; length($1)} @line)[0]; map {s/^(.*?)\[/$1 . " "x($max-length($1))."\["/e} @line; print @line'

毎回正規表現考えるのも面倒かなーとかとか。

理想を語ると出力形式指定できれば最強だなーとか妄想してた。

この辺は、ファイルにして ~/bin に放りこんで、自分好みに育て上げる、ってのがエロゲ^H^H^Hギーク楽しみ方かと。

雛型的には↓かなぁ。どうだろ。弾・monger・コーガイ氏が登場したら……滅多切りさるかもw

#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Std;
use vars qw($opt_t);

# オプション処理
getopts('t');
# $opt_tがセットされていたらタブ処理、ということにする。

# コマンド起動
# 引数処理とかシグナルとか面倒なところは……
open TREE, "tree -pugs ".join(" ",@ARGV,"|") or die;
my @line = <TREE>; # 富豪的にいく
close TREE; # ここで子プロセスの処理だっけ?
# それともwaitするんだっけ?

# ツリー表示部分の最大長を求める。
my $max=(sort {$b<=>$a} map {/^(.*?)\[/; length($1)} @line)[0];
# 色々やる時はユーザ名とかグループ名とかファイル名とかの最大長がいるかも

foreach (@line) {
        if ($opt_t) {
                # タブ(\t)で位置をそろえるとか……
        } else {
                s/^(.*?)\[/$1 . " "x($max-length($1))."\["/e;
        }
        print;
}

treeへのオプションの与え方とか、それによる出力の変化とか考えると、結構面倒だけど、自分用に決め打ちしとけば何とかなるでしょう。

あと、「[%p<>%u<>%g<>%s]」みたいなのはCPANに転がってたりしそうな気もするので、それを使うとか。

そんなところでなかろうか。

[追記]

http://search.cpan.org/~darren/String-Format-1.14/Format.pm というのがあった。

http://anond.hatelabo.jp/20080416000945

重くてミスで連投してしまったので書き直した。申し訳ない。

「このような論点が存在する」という主張は「このような価値観こそが正しく、他は全て間違っていると信ずる」というものとは全く異なる。

そのような論点ひとつしか出さず、しつこく反論を続けているから、君がその主張にコミットしてるようにしか見えんかったのだけど。

なお、くぐるまたぐらを間違えたことは認めるが

まあ撤回するならそれでいいよ。俺が一番批判したいのはその部分だから。

じゃあ例えば君が美術館の館長で、「芸術なんて無駄なものに金が出せるかボケぇ」ってな思想の持ち主の市長によって予算が激減させられそうになったとき、彼にどう反駁するんだ?芸術に対して経済的有用性を云々するのは冒涜である、と主張して、その結果宗教論争に陥って君は解雇、職員も路頭に迷う、なんてのが理想なのか?それこそ勘違いヒロイズムもいいところだ。職員はいったいどうなるのだ。

そこで経済効果や市政国政上の意義を主張するのは芸術家のやるこっちゃねーな。美術館経営者、職員を養う責任者の立場ならそういう食い下がり方をする必要はあるだろうが、少なくとも芸術において本質的な議論とは言えん。もちろん、サラリーマンサラリーマン仕事をすることを否定はしないよ。

これが「世に差別不正が溢れているとして、そりゃ一凡人に出来ることは少ないが、開き直って加担するような真似は俺には出来んね」といった人間言葉なんだからお笑いぐさだね。

英語って何か不正言語なのか? 世界中で使えるなら便利だろ。コンテンツも売りやすくなるだろうし。

文化を有用性で測るのは冒涜だとかおっしゃったのはどこの誰様でしたっけねえ。

そういう重要性が実際ある以上、芸術価値関係ないところで一目おかざるを得ない、と言ってるのだけど。苦々しくな。これは残念ながらくぐらなきゃならないまたぐらだ。君の言い方だとね。

欧米先進国様にもキリスト教原理主義とか移民排斥とか悪しき伝統の宿痾はいくらでもある。

それは欧米伝統の延長でしっかりリベラルにやってけば克服できる問題だろう。一方で、日本の伝統的な思想の延長上でそういう問題を克服できるような期待がどこに持てるんだ? ダメそうな負の遺産はわんさとあるけどさ。

欧米古典と比較しての日本古典の意義を訴えたいなら、君が具体的に語らなきゃならないのはその部分だと思うんだがね?

だが現代ではそうはいかないぞ。

西洋中心主義批判に相乗りして巧妙に反動思想を広めようとする輩が結構いるが、なるほど現代的な現象かもしれんね。君がそうだと決め付けているわけではないが、そうではないという確証はどこにもないね。だから具体的に語れと何度も要求してるんだが。

えーと、それから旧帝大卒業生が世の中のどれだけの割合になるのか調べてからものを言おうね。

五万といて、毎年生産されて増え続けていくただの「上のほう」の連中の話なんかしてねーよ。

そりゃ日本大学がある以上どこかは最高学府だし、その卒業生コンスタント生産されるわけだが、それがなにか?

本物のエリートってのはいつでも一握りなんだよ。

仮にも俺は工学修士だ。お前ごときがエラそうに言ってる話なんて学ばずとも勝手に覚えたわ。

で、FORTRANが低水準処理に近いから数値計算で使われるんだって話はどこ行った?www

あいまいに逃げようったって、お前が何か根本的にその辺勘違いしてるのはもうはっきりしてんだよ。

FORTRAN数値計算に使われるのは、過去の蓄積、ライブラリ豊富にあることのほかに、データ型の充実などの理由がある。最近は他の言語でもいいライブラリが出てきてるから、C++数値計算なんてのも出来ない話じゃなくなっている。めっちゃリッチ高級言語ですけど?

まともにその辺知ってれば、その辺飛ばして一足飛びにRuby,Perlって発想自体、ありえん。

レベルでの処理の意義を主張したいのなら、やっぱりハードウェアを直接叩くものを挙げるべきだ。いくらでもそんな仕事はあるんだから。君は知らないのかもしれんが。

てか、ハッタリなんだよな? 君が情報工学を修めてるってありえんだろ。怒らんから言ってみ? いくらなんでも信じたくないな、こんなアホが……。

2008-04-15

http://anond.hatelabo.jp/20080415173401

反応してくれた人がイター!

ちょっと嬉しい。

> 別にrubyでもsedでも良いけど、正規表現で問題なくパース出来るんじゃない?

毎回正規表現考えるのも面倒かなーとかとか。

> 位置あわせでよいのかな?ほかにある?

理想を語ると出力形式指定できれば最強だなーとか妄想してた。

 --output-style "[%p<>%u<>%g<>%s] %n"

とすると

|   |-- [-rw-r--r--<>hoge<>hoge<>9108] HTTP_BAD_GATEWAY.html.var

みたいな。

別にコマンド的である必要はまったくないっす。

> # tree -pugs | perl -e '@line=<>; $max=(sort map {/(.*?)\[/; length($1)} @line)[0]; map {s/(.*?)\[/$1 . " "x($max-length($1))."\["/e} @line; print @line'

実行してみたら出力に変化がなかった。アルェー?

何にせよPerlじゃね?ってのは超同意。

とかく出力形式を指定できたら便利だなーと。

この手のディレクトリ状況調べて提出してちょ、みたいな要求はちらほらあるのですよ。

付け加えると、CSVで出してちょーみたいな要求の場合はfindとかlsとかgrepとかその辺組み合わせてどうにでもなる感じです。

ツリー構造が見える形でいろんな出力できると楽しいよね!とかちみっと思って。

http://anond.hatelabo.jp/20080415122733

BSDな人なのでtreeはしらん、とスルー気味だったけど。

|   |-- [-rw-r--r-- hoge     hoge          9108]  HTTP_BAD_GATEWAY.html.var

を前提に。

基本:そんなときのperlじゃね?

別にrubyでもsedでも良いけど、正規表現で問題なくパース出来るんじゃない?

疑問:体裁って?

位置あわせでよいのかな?ほかにある?

なんにせよ、基本的にperlじゃね?って感じで。

# tree -pugs | perl -e '@line=<>; $max=(sort map {/(.*?)\[/; length($1)} @line)[0]; map {s/(.*?)\[/$1 . " "x($max-length($1))."\["/e} @line; print @line'

かな?たぶん。

linuxtreeコマンドの出力をかっこよくできないかなの巻

便利すぐる!とか思ったんだけど、オプション次第では出力がちょっと汚い。

これってうまいこと成形できないかな。かな。

とりあえずオプションは-pugsくらいでおk

treeって何よ?

これ。

http://arbolbell.jp/tools/2007/11/linux-tree.html

使ってみた

[root@localhost www]# tree

.
|-- cgi-bin
|-- error
|   |-- HTTP_BAD_GATEWAY.html.var
|   |-- HTTP_BAD_REQUEST.html.var
|   |-- HTTP_FORBIDDEN.html.var
|   |-- HTTP_GONE.html.var
|   |-- HTTP_INTERNAL_SERVER_ERROR.html.var
|   |-- HTTP_LENGTH_REQUIRED.html.var
|   |-- HTTP_METHOD_NOT_ALLOWED.html.var
|   |-- HTTP_NOT_FOUND.html.var
|   |-- HTTP_NOT_IMPLEMENTED.html.var
|   |-- HTTP_PRECONDITION_FAILED.html.var
|   |-- HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
|   |-- HTTP_REQUEST_TIME_OUT.html.var
|   |-- HTTP_REQUEST_URI_TOO_LARGE.html.var
|   |-- HTTP_SERVICE_UNAVAILABLE.html.var
|   |-- HTTP_UNAUTHORIZED.html.var
|   |-- HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
|   |-- HTTP_VARIANT_ALSO_VARIES.html.var
|   |-- README
|   |-- contact.html.var
|   |-- include
|   |   |-- bottom.html
|   |   |-- spacer.html
|   |   `-- top.html
|   `-- noindex.html
|-- html以下略

こんな感じで出してくれる。超便利。

何したいのさ?

オプションつけると付加情報も表示してくれるんだけど、

[root@localhost www]# tree -pugs

.
|-- [drwxr-xr-x hoge     hoge          4096]  cgi-bin
|-- [drwxr-xr-x hoge     hoge          4096]  error
|   |-- [-rw-r--r-- hoge     hoge          9108]  HTTP_BAD_GATEWAY.html.var
|   |-- [-rw-r--r-- hoge     hoge          6633]  HTTP_BAD_REQUEST.html.var
|   |-- [-rw-r--r-- hoge     hoge         11193]  HTTP_FORBIDDEN.html.var
|   |-- [-rw-r--r-- hoge     hoge         12700]  HTTP_GONE.html.var
|   |-- [-rw-r--r-- hoge     hoge         12846]  HTTP_INTERNAL_SERVER_ERROR.html.var
|   |-- [-rw-r--r-- hoge     hoge          7539]  HTTP_LENGTH_REQUIRED.html.var
|   |-- [-rw-r--r-- hoge     hoge          6773]  HTTP_METHOD_NOT_ALLOWED.html.var
|   |-- [-rw-r--r-- hoge     hoge         13255]  HTTP_NOT_FOUND.html.var
|   |-- [-rw-r--r-- hoge     hoge          6336]  HTTP_NOT_IMPLEMENTED.html.var
|   |-- [-rw-r--r-- hoge     hoge          6565]  HTTP_PRECONDITION_FAILED.html.var
|   |-- [-rw-r--r-- hoge     hoge          7802]  HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
|   |-- [-rw-r--r-- hoge     hoge          7099]  HTTP_REQUEST_TIME_OUT.html.var
|   |-- [-rw-r--r-- hoge     hoge          7103]  HTTP_REQUEST_URI_TOO_LARGE.html.var
|   |-- [-rw-r--r-- hoge     hoge          7822]  HTTP_SERVICE_UNAVAILABLE.html.var
|   |-- [-rw-r--r-- hoge     hoge         13035]  HTTP_UNAUTHORIZED.html.var
|   |-- [-rw-r--r-- hoge     hoge          6353]  HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
|   |-- [-rw-r--r-- hoge     hoge          7009]  HTTP_VARIANT_ALSO_VARIES.html.var
|   |-- [-rw-r--r-- hoge     hoge          1979]  README
|   |-- [-rw-r--r-- hoge     hoge          4256]  contact.html.var
|   |-- [drwxr-xr-x hoge     hoge          4096]  include
|   |   |-- [-rw-r--r-- hoge     hoge           291]  bottom.html
|   |   |-- [-rw-r--r-- hoge     hoge             9]  spacer.html
|   |   `-- [-rw-r--r-- hoge     hoge           969]  top.html
|   `-- [-rw-r--r-- hoge     hoge          5043]  noindex.html
|-- [drwxr-xr-x hoge     hoge          4096]  html以下略

いまいちかっちょわるい。

体裁とか好きなようにいじれたらそのまま書類にできるんだけどなーと。

欲しいものをまとめると

http://anond.hatelabo.jp/20080415182703

てな感じです。

とある増田さん@エロゲ^H^H^Hギークの回答

http://anond.hatelabo.jp/20080416071526

雛型をtreetest.plとして保存して動かすとこんな感じになりました。

[root@localhost www]# perl ./treetest.pl

.
|--                                             [drwxr-xr-x hoge     hoge          4096]  cgi-bin
|--                                             [drwxr-xr-x hoge     hoge          4096]  error
|   |--                                         [-rw-r--r-- hoge     hoge          9108]  HTTP_BAD_GATEWAY.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          6633]  HTTP_BAD_REQUEST.html.var
|   |--                                         [-rw-r--r-- hoge     hoge         11193]  HTTP_FORBIDDEN.html.var
|   |--                                         [-rw-r--r-- hoge     hoge         12700]  HTTP_GONE.html.var
|   |--                                         [-rw-r--r-- hoge     hoge         12846]  HTTP_INTERNAL_SERVER_ERROR.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7539]  HTTP_LENGTH_REQUIRED.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          6773]  HTTP_METHOD_NOT_ALLOWED.html.var
|   |--                                         [-rw-r--r-- hoge     hoge         13255]  HTTP_NOT_FOUND.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          6336]  HTTP_NOT_IMPLEMENTED.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          6565]  HTTP_PRECONDITION_FAILED.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7802]  HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7099]  HTTP_REQUEST_TIME_OUT.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7103]  HTTP_REQUEST_URI_TOO_LARGE.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7822]  HTTP_SERVICE_UNAVAILABLE.html.var
|   |--                                         [-rw-r--r-- hoge     hoge         13035]  HTTP_UNAUTHORIZED.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          6353]  HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          7009]  HTTP_VARIANT_ALSO_VARIES.html.var
|   |--                                         [-rw-r--r-- hoge     hoge          1979]  README
|   |--                                         [-rw-r--r-- hoge     hoge          4256]  contact.html.var
|   |--                                         [drwxr-xr-x hoge     hoge          4096]  include
|   |   |--                                     [-rw-r--r-- hoge     hoge           291]  bottom.html
|   |   |--                                     [-rw-r--r-- hoge     hoge             9]  spacer.html
|   |   `--                                     [-rw-r--r-- hoge     hoge           969]  top.html
|   `--                                         [-rw-r--r-- hoge     hoge          5043]  noindex.html
|--                                             [drwxr-xr-x hoge     hoge          4096]  html以下略

ステキすぐる。

これを元にいろいろいぢくればcodereposでコミっても怒られないものができそう。

Format.pmもかなり使えそうと言うか僕の要求ずばりですよ。

感謝感激猫ひろし

このエントリTBとかブクマ次第でいろいろ更新される予定だよ。

エントリ自体がスルーされたら泣きながらどっか行くつもりだったけどスルーされなかったのでどっかには行かないよ。

ログイン ユーザー登録
ようこそ ゲスト さん