「ToP」を含む日記 RSS

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

2008-01-06

安倍首相の最大の弱点は“学歴”??教育改革は、学歴コンプレックスの現れ?

先ほど、すごいことを発見しました。それは、「政権長期政権かどうかは、首相学歴ズバリ、比例する傾向にある」ということです。この学歴問題を引き合いに出すのは「タブー」になっているのですが、歴代首相を論じる以上は首相出身大学について語らないわけには行かないのです。

歴代首相学歴をザッと調べてみました。

=======

吉田茂 東京帝国大学法科大学政治卒業

片山哲 東大法卒 弁護士

鳩山一郎 東大法卒

石橋湛山 早大文卒

岸信介 東大法卒 商工官僚

池田勇人 京大法卒 大蔵官僚

佐藤榮作 東大法卒 運輸官僚

田中角榮 中央工学校卒 会社社長(+一級建築士

三木武夫 明大法卒

福田赳夫 東大法卒 大蔵官僚

大平正芳 東京大卒 大蔵官僚

鈴木善幸 農林省水産講習所(現東京海洋大学)卒 漁協役員

中曾根康弘 東大法卒 内務官僚

竹下登 早大商卒 島根県議(+雄弁会早大高等学院出身)

宇野宗佑 神戸商大中退 滋賀県

海部俊樹 早大法卒 議員秘書

宮澤喜一 東大法卒 大蔵官僚

細川護熙 上智大法卒 熊本県知事

羽田孜 成城大経卒 会社員(+成城学園高等学校

村山富市 明大政経卒 大分県

橋本龍太郎 慶大法卒 会社

小渕恵三 早大院修 会社役員

森喜朗 早大商卒 新聞記者(+雄弁会

小泉純一郎 慶大経卒 議員秘書

安倍晋三 成蹊大法卒 会社員(+成蹊学園(小学校中学校高等学校))

http://ja.wikipedia.org/wiki/%E5%86%85%E9%96%A3%E7%B7%8F%E7%90%86%E5%A4%A7%E8%87%A3%E3%81%AE%E4%B8%80%E8%A6%A7

==========

これを見て分かることは非常に多い。まず気が付くのは、宮澤喜一首相を最後に東大出身の首相がいない、ということです。ここ数代は、慶応早大のたすきがけ的な形で続いています。

そして、一般的な「偏差値」が高い大学を出た政治家首相になると「長期政権」になるということです。これは、上の履歴書をみると明らかです。

調べるまでは、まさかそんなことは、と思っていましたが、「政治家における学歴差別」は歴然として存在するのです。これで、なぜ安倍首相が不人気なのか、信望がないのかがよく分かりました。偏差値の高い大学出身の首相は、まわりに似たような学歴政治家がたくさんいるワケです。そうすると「同窓会ネットワーク」の層が厚い。

同じ大学の仲間意識で皆が支え合うという意識があるわけです。これは、アメリカにおいても同様で、ブッシュ大統領はあれだけバカだと言われていますが、しっかりエスタブリッシュメント大学のイエール卒業し、しかも、エリートクラブ出身です。それを考えると、安倍首相は哀れなくらいに学歴が低い。いや、学歴が低いといよりは、彼の場合には「受験を経験していない」のです。

受験を経験していないということは、「忍耐力がない」「修羅場の経験がない」という風に一般的に判断されます。しかも、安倍首相小学校からのエスカレーターです。普通受験して成蹊大学に入っているわけではない。これは非常にマイナス点です。

日本では、東大受験に成功することが最高のステータスシンボルであり、東大は一時期までは総理大臣を供給する大学でした。アメリカジャパン・ハンドラーズの研究には「東大」の研究書もいくつもあるんです。東大官僚制度と政治家ネットワークを持つ。これが日本の最大のパワーだったわけです。

====

最も有名なのはチャルマーズ・ジョンソンが共著で加わっている以下の本。ハードカバー版しかない。表紙の「東大」という文字が笑えます。

An Empire of Schools: Japan's Universities and the Molding of a National Power Elite (Hardcover)

by Robert L. Cutts (Author), Chalmers Johnson (Introduction)

Table of Contents

Foreword

Preface

Ch. 1 If There Is a God, He Went to Todai

Ch. 2 First Principles: The Society

Ch. 3 First Principles: The Individual

Ch. 4 The Ivory Basement

Ch. 5 A Tale of Two Citizens

Ch. 6 The Leisure Class

Ch. 7 Who's on Top: The Women Elites

Ch. 8 Family: She's Got the Whole World in Her Hands

Ch. 9 Weapons

Ch. 10 Making It

Ch. 11 Fifty Ways to Lever the Governed

Ch. 12 Reform: No Exit

http://www.amazon.com/Empire-Schools-Universities-Molding-National/dp/1563248433/ref=sr_1_6/102-8054700-3864949?ie=UTF8&s=books&qid=1182385355&sr=8-6

====

同様に、早稲田大学は在野の精神早大雄弁会を結成し、これも政治家供給源になってきました。慶応大学もどうように政財界に太いパイプがある。小泉前首相と綿貫国民新党党首の共通項はともに慶応出身というところです。意外なところで接点があって、それが情報交換のきっかけになったりする。

慶大出身の綿貫氏

そこに行くと、大変失礼なのですが、成蹊大学出身の有力政治家というのはほとんどいません。政治家の仲間がいないということは、つながるネットワークが少ない、ということ。安倍首相ネットワークは「安晋会」のようないかがわしい人たちの集まった後援会組織だったり、父親の晋太郎の時代からのサポートスタッフです。

安倍晋太郎は、病気で早くに亡くなっており、これを継ぐ形で晋三が政治家になっています。安倍家には、東大出身の寛信という三菱商事中国支社のエリートビジネスマンもいましたが、なぜか彼ではなく、晋三に白羽の矢が立っている。

そうなると、何にも自分だけの基盤がないエスカレーター学歴の彼には、父の周辺の後援会に頼るしかなかった。そうなれば、晋三はいいなりです。広域ナントカ団だったり、地元土建業者だったりがまとわりついてくる。それをさばくのは側近たる秘書なのでしょう。

こうなると、なぜ東大出身の寛信氏が後継者にならなかったのかが気になります。順当に東大出の晋太郎が総理大臣になっていれば、晋三が後継者になることはなかったのではないか、と強く思います。しかも、晋三氏には「南カリフォルニア大学」在学時の学歴詐称疑惑で騒がれたこともあります。結局、卒業はしていないということだったようです。民主党代議士学歴詐称を追及している段階で噴出した問題でした。

====

安倍一族の“学歴”一覧

安倍寛(祖父)=東大

岸信介(祖父)=東大

佐藤市郎(大叔父)=海軍大学校主席

佐藤栄作東大

安倍晋太郎(父)=東大

安倍寛信(兄)=東大

岸信夫(弟)=慶応

====

上のリストに戻りますが、小学校卒業田中角栄内閣は、やはり短命政権でした。しかし、彼は安倍首相と違い、たたき上げで、一級建築士資格も持っていた。だから、それなりにポイントは高かったのだろうと思います。鈴木善幸首相もやっぱり短命政権宇野宗佑首相も、羽田孜首相も・・・・。みんな“ポイント”が低かった。

これを法則化して理解した上で他の首相をみていくと、細川護煕首相上智大学出身。細川政権は約一年しか続いていません。早大出身の海部政権は約三年続いています。この事実から、キリスト教大学である上智大学は、首相になる場合の「持ち点」が少し低い、ということになるでしょう。ちなみに政治家では野田聖子さんが上智出身です。村山首相明治大というのも微妙なところなのでしょう。

そこに行くと、面白いのは、故・三塚博さんと小渕優子さんです。三塚さんは、派閥の領袖も務めた大政治家です。彼は、東京獣医畜産専門学校(現日本大学生物資源科学部)を経て早稲田大学第一法学部学士入学し、1951年卒業。在学中は雄弁会に所属しています。わざわざ早稲田学士入学しています。これは雄弁会に入るためでしょう。雄弁会というのは、今は威光もかげってきましたが、それでも現内閣では山本金融大臣を初め出身者が多い。森元首相竹下首相雄弁会ネットワークです。三塚さんは学士入学で早稲田に入って持ち点を上げようとしたわけです。残念ながら、その努力は報われませんでしたが、閣僚にはなっています。

早稲田大学大学院公共経営研究科修了:小渕優子

同様に、早稲田大学社会人になった後に入学したケースとしては、元首相の娘さんである小渕優子さんの例があります。彼女の場合は大学院です。小渕さんは、羽田首相と同じ、成城大学出身です。この大学は意外に政治家が多い。しかし首相になったのは羽田さんだけです。しかも短命政権でした。

そこで小渕さんは、女性なので雄弁会には入れないのですが、早稲田大学政治家をやりながら入学するという「奇策」に打って出ました。これは凄い。さすがは政治家の娘です。政治感覚が鋭いなあと思います。成城大学では幾ら政治家として頑張っても総理大臣はなれない、と冷酷に判断したのでしょう。早稲田に入学したということは、早稲田出身の政治家ネットワークの末席に置いてもらえる可能性がある、ということです。それでもなかなか首相への道は厳しいでしょうが・・・・。なんだか応援したくなりますね。

そう考えると、小学校からのエスカレーター安倍晋三という人が首相になっていることは、国際的な一大スキャンダルである可能性が高いのです。安倍首相が国際的に影が薄いのも早稲田慶応ネットワークに入っていないからかもしれない。そう考えると、一応、外国政治家の経歴を調査する情報機関の間では、東大早稲田慶応の当たりの大学は評価されている、という見方も出来そうです。これが安倍さん慶応幼稚舎出身だったらもう少し違ったのかもしれないですね。

そのようにしながら、日本の政治家を出身大学別に持ち点でプロファイリングしていくのも面白いと思います。同じ慶応早稲田でも、政経学部か文学部か(例:石橋湛山)、第一部(昼間)か第二部(夜間)かで大きく違うのでしょう。私の出身は早稲田の一.五部と言われた社学出身なので、政治家的には微妙ポジションでしょう。

こういう当たり前のことは差別になるといってタブー視されていますが、やはり安倍政権坊ちゃん政権だったのです。周りに大学ネットワークがないから、変なおかしい団体が支援者として食っ付いてくるわけです。そう考えると、やはり安倍政権、長くないでしょう。

ここでどう考えるべきか判断に苦しむのは、ポスト安倍麻生太郎外相の扱いです。学習院大学政経学部政治学卒業とあります。その他、スタンフォードロンドン大学留学しているようですが学位があるかどうかは分かりません。学習院というのはどういう扱いになるか。彼は皇族の血が入っていると同時に、カトリック教徒です。クリスチャン政治家では、大平首相がいますが、これは短命政権に終わりました。(病気だったからかもしれないですが)学習院出身の首相はいないので、これが持ち点が高いのか、低いのかは分からない。ただ成蹊大学出の安倍首相よりは間違いなく麻生外相の方が持ち点は高いはずです。

そこへいくと、同じように微妙なのが東大出身の谷垣禎一財務大臣です。彼が首相になれば久々の東大出身総理となります。しかし、彼は消費税を上げたりして、短命政権になるでしょう。その後に、つまり消費税上げをやった後に、民主党政権が出来るかもしれない。

つまり、大蔵官僚が、自民党責任をおっかぶせて自分たちは民主党政権コントロールするという考え方です。官僚を統制しているのは一部にはアメリカです。今の官僚制度をコントロールできる角栄のような政治家がいないので、官僚制度も政治家同様、アメリカに目を向けて指示を仰いでいるんでしょうね。

そう考えると、安倍首相がやたらと左翼思想を批判したり、「美しい国」というようないかがわしいタイプ保守思想を喧伝したがるのも、東大学歴に対するコンプレックスなのかもしれないですね。安倍家、佐藤家には東大出身が多いですからね。東大といえば、左翼思想丸山真男、というわけです。「家庭の事情」で教育改革をやられては非常に困るわけですが・・・・。

まあ、政治家価値学歴だけで決まるというわけではないでしょうが、実際に統計的に結果が出てしまっているのは隠せませんね。

代々木ゼミ偏差値表をみながら、地元政治家プロファイルしてみてはいかがでしょうか?

http://www.yozemi.ac.jp/nyushi/nyushi.html#rank

2007-12-15

ランニング ザ ワールド』 歌詞

Running the world - Jarvis Cocker

Well, did you hear there's a natural order?

Those most deserving will end up with the most?

That the cream cannot help but always rise up to the top?

Well I say... shit floats.

If you thought things had changed, Friend, you'd better think again.

Bluntly put in the fewest of words:

Cunts are still running the world

Cunts are still running the world

Now the Working classes are absolete They are surplus to society's needs.

So let 'em all kill each other and get it made overseas.

That's the word, don't you know?

From the guys that's running the show.

Let's be perfectly clear boys and girls:

Cunts are still running the world

Cunts are still running the world

On feed your children on crayfish and lobster tails

Find a school near the top of the league.

In theory, I respect your right to exist -

I will kill you if you move in next me.

Ah, it stinks , Yeah, it sucks,

It's anthropologically unjust,

Oh but the takings are up by a third,

Cunts are still running the world

Cunts are still running the world

The free market is perfectly natural,

Do you think that I'm some kind of dummy?

It's the ideal way to order the world;

Fuck the morals - does it make any money?

And if you don't like it?

Then leave - or use your right to protest on the street.

Yeah, use you right but don't imagine that it's heard

Not whilst cunts are still running the world

Cunts are still running the world

Cunts are still running the world

Cunts are still running the world

Cunts are still running the world

http://jp.youtube.com/watch?v=e_M22STINYw

2007-11-05

はてな匿名ダイアリーなんてあるのか・・・・

なんだよこれー

はてなアンテナは数年前から使ってたのに今の今まで知らなかった・・・・

これって「この日記書いた人の他の日記も読みたい!!」

と思っても読めないのか?

さっき徘徊してる時続き物みたいなのもチラッと見たが。

それは題名か何かキーワード辿って読むスタイルなん?

調べた。というか下にあった。これは「はてな記法一覧」見たら把握できた。

自分で入力すんのかよ・・・・

つーか増田って誰だよと思ってさっきググッたら名無し的なものなのか。

えっ・・・・全然知らなかった・・・・

毎日2chやってニコニコ見てるのに・・・・

ノリは把握した。

しかし・・・・日記書くには半年ロムるべきか・・・・

別に匿名だしいいよな?いつ何時書いてるかなんてバレないんだろ?違うの?

あー、いつ書いたかは分かるか。誰が書いたかが分からんのな。

文面変えればいいんだろ?まあ変えなくても平気だな。

これって本当に匿名うpされるの?書けば分かるか・・・・

一応自分の名前、IDhttp://anond.hatelabo.jp/○○/←この部分に入るやつ

入れてログアウトした状態で行こうとしてみたら行けなかった。TOPページみたいなとこに戻るのな。

てことは、本当に匿名なんだな・・・・

自分の日記セットで拝めるのは自分だけっ!ってことか。

あー、上で書いた「はてな記法」を使わないと、だな。

別に使わなくてもいいんだろ?読まれにくくなるとかないよな。

好き勝手書いてレスもらえたりもらえなかったりするんだろうが、これランキングとかないだろ?

1日記単位じゃなんだかよく分からんよな。あるなら見るけど。

そういうのやっぱあると見ちゃうよな、悲しきかな日本人の習性とでもいいましょうか・・・・

ちょっと待て!

今、「はてな匿名ダイアリーとは」を見てきた。

名前を隠して楽しく日記。適度につながるコミュニティ

え・・・・

嘘だろ?これだけ?説明する気あんのかよ!舐めてんの!?

次!

はてな匿名ダイアリー wiki」でググッた。

最悪なことに、はてなのページばかり出てくる・・・・

wikiURL出てこねえ・・・・

クソッ!なんだよ・・・・

これを機にウィキペディアが俺のお気に入りへ正式にご登録されました。ぱちぱち。

今までググればいいだろという考えで登録してなかった・・・・

よし!

今度こそwikiの検索欄に「はてな匿名ダイアリー」と入力したぞ!

検索した名称のページは存在しませんでした。全文検索を試みます。

該当するページが見つかりませんでした。

は?ちょっ

え・・・・


ちょっと朝ご飯食べてくる。

ふー・・・・

wiki使えねえ。はてなのことははてなに聞けって?なんだよそれ・・・・

まだこのシステムに慣れてないからやっぱロム必要か?

ここまで書いて消すのもなんだよな。

やっぱさー、はてなの内部の人にはもろバレなの?これ・・・・

個人情報保護法とか言ってても見る人いるよな。

アンテナのほうの内容見られたら俺バレバレなんで今更ですが。

まあ確認とかあるし見るよな、何のかは知らんが。

そうだよ、俺の友達で知ってて当然みたいにうちの店使っただろとか言う奴いるもん。

何で知ってんの?って俺が聞いたら、個人情報見たって平気な顔で言うんだよ!

こういうのダメだからね、本当に。気持ち悪いから!!

いくら俺個人がすでに気持ち悪いからとか、はてなアンテナエロサイト何個も登録してるからって俺は!保護される身なんだよ!!

さわんな!俺の情報に・・・・まあそんな暇人そうはいないよねっ!信頼してるぞ、はてなっ(はぁと

(はぁと これってもう使わない?死語

なんかはてなマークばっかりな文になってるけどはてな日記だしいいよな。

よく分からんが初匿名日記だ。レスくれ!!!!!

レスも自分の日記同様セットで見れるのか?

あと返事って出来るの?日記についたレスへのって意味だけど。できてもしなくてもいい?レスくれ!下さい。

まだ言い足りないが今日はこの辺にしとく。俺ちょっとやることあるし。

とりあえず始めるぞー。お前ら!匿名日記プロの人!3日で飽きないよう俺を楽しませてくれ!!頼む!

PS.今下の「確認する」ボタンで全然改行ができていないことが分かった。

俺は「(連続した空白の行2つ)で改行1つ」ということを学んだ。

この数十分だけで相当はてな知識ついたからな、これならすぐ慣れるな。

はてな記法は面倒そうだから改行くらいしか使わないな・・・・


PS.2

PSとその上の部分の改行一行忘れたがもう覚えた。今度こそじゃあな。

2007-10-27

http://anond.hatelabo.jp/20071027124349

もちろん曰くTOPページへのリンクも許可を得ないといけないということですよね。

従えないのではなく『従わない』

http://anond.hatelabo.jp/20071027104101

TOP以外にリンクを貼るなと書かれていたら真っ先に従えよ。

そんな一文に隷属しなければならない社会は、隷属しなくてよい今の社会より遥かに危険だ。断固拒否する。

http://anond.hatelabo.jp/20071027082737

マジでtinycafeにだけ、はてな利用規約を改正する必要があるな…

っていうか個人サイトへのリンクを禁止にしろよ。

まだこんなことゴネまくってんのか。脳が萎縮しているのか。それとも5行以上のテキストは読めないのか。

http://b.hatena.ne.jp/help/notice

*はてなブックマークにおけるリンクの考え方について

(中略)

 なお、特に閲覧制限を行わずにはてなブックマークからのリンクのみを拒否するには、ウェブページサーバー上にてはてなブックマークサーバーIPアドレス現在は221.186.146.26)からのアクセスを拒否することで拒否を行うことも可能です。

この日本語読めない?まあ読めないからいつも同じ事ばかり繰り返してるんだよね。

ウザいんだよ。

お 前 が 言 う な !

っていうかこういう電波増田ゆんゆんさせること自体、物凄い迷惑。

個人サイトTOP以外にリンクを貼るなよ。

貼りたければニュースサイトだけにしろ。

個人サイトへのリンクは運営側の了承を得る必要があると利用規約改正時に加えて欲しいな…。

だからさ、あんたのページはガワだけgeocitiesを使って中身がはてなダイアリーじゃないの。しかもガワを用意する前にはてなダイアリーを作ってあった。

既にブクマしている人もいるんですけど?

だからさ、そういう自分勝手意見押し付けをするんだったらトップページに書きたいことを全部書いたページを作か、さもなければ自分でシステム

構築しろよ。どうやって実現するかは知らねえけど。

で、「無断リンク禁止」って言いながらも、これは何?はてなブックマーク > 前川祥子サーチエンジン

無断リンク禁止の人が無断リンクしてるね。しかもトップページへのリンクが殆どないね。

だからさ。何故そこまで自分が正しいと確信できるの?こんなことで波風立てる人は他にいないよ。

自分だけが間違っているっていう前提でものを考えることはできないのかな?

2007-10-19

http://anond.hatelabo.jp/20071019193836

益田

「自前のflvプレイヤーを経由して動画を見て欲しい」

ってのは、

「うちのホムパゲにアクセスするときはTOPページからアクセスするように」

ってのとどう異なるの?

激しくちがうだろう。

私が書きましたと明記してなくとも第三者が勘違いする可能性がある以上ダメだ。

というように公開されているものであっても原著作者が期待していない方法で表示することがあり得るなら著作権侵害だということなのだから

じゃあブラウザデータW3Cで世間的に合意したとみなせる仕様とも異なる方法で勝手に解釈して別形式に表示しなおすから著作者人格権を侵害してるわけだ。

ということにもなるでしょという「それはおかしくないか」という例示なのだが。

違うというならニコニコで公開されることを認めた時点で様々な閲覧方法やダウンロードがされることも

承諾しているものと見なされる。常考

でしょ。

PDF?じゃあニコニコも任意にダウンロードしたりできないように暗号化したストリーミングにすればいいってことでしょ。そういう技術は既にあるんだし。

つうか大体著作権者の意向なんかガン無視して大量に掲載してるのに自分だけ権利主張するのはおかしいわな、明らかに

[]yomutonougakusarimasu 4/5 気持ち悪いですね( ・3・) シュミハブーメランデス( ・3・)ノシ 三く

冥土喫茶店 水無月http://www.geocities.jp/madekissaten/ http://www.geocities.jp/madekissaten/otukare.jpg http://www.geocities.jp/madekissaten/youmu.jpg 色々参加して頑張っているようだけど下手だなあいやただ描くだけでは上達は難しいと思うよ問題点をきちんと直すような描き方をするとかさ めいぽけ 茶汰 http://www.eonet.ne.jp/~meipoke/ http://www.eonet.ne.jp/~meipoke/img/rinkai.jpg http://blog17.fc2.com/c/chamomo/file/061026a.jpg http://blog17.fc2.com/c/chamomo/file/061024a.jpg http://blog17.fc2.com/c/chamomo/file/061024b.jpg 今となっては珍しく感じるアナログっぽい絵 と言うか塗りにむらがあるたまたまこの画像だけかな? MegaSoundOrchestra 三割引 http://sanwaribiki.web.fc2.com/ http://sanwaribiki.web.fc2.com/img/top003_s.jpg http://sanwaribiki.web.fc2.com/gallery/img/2006/20060033.png http://sanwaribiki.web.fc2.com/gallery/img/2006/20060032.png 特徴は目かな 尖りすぎた大きいまつげ良くも悪くもそこばかり目に付く 自分は苦手 MEGA DRIVE のり http://www7.plala.or.jp/hidenori/ http://www7.plala.or.jp/hidenori/cg/c72817.jpg http://www7.plala.or.jp/hidenori/cg/c71b.jpg 指の描き方と肩の上がり方にがちょっと目に付いたかな 後、頭がでかく見えるエロ臭い塗りと思ったらやっぱり18禁のほうもやってるんだなあと結構上手なんじゃないかと思います東方というよりアイマスとか他のよりかなあ Memoria ティルム http://memoria.sakura.ne.jp/ http://www7.plala.or.jp/hidenori/cg/c71b.jpg http://memoria.sakura.ne.jp/image/alice20.jpg http://memoria.sakura.ne.jp/image/medicine08.jpg http://memoria.sakura.ne.jp/image/medicine06.jpg 一時機んこさんレイプの人の夕食であり続けた所地道に上手くなってきていますね最近とみにアップの画像が増えている気がしますもっと引いた絵を描いてもいいと思う どアップは結構楽だけれどな 18禁だったりする Memorize Bell 御桜 ひびき http://memorizebell.web.fc2.com/ http://memorizebell.web.fc2.com/top04.jpg http://memorizebell.web.fc2.com/mjk111.jpg 素晴らしい放置っぷリで絵も微妙 やっぱり手や指関節辺りは素人さんとの境界線か次はパースで そういうものをすっ飛ばしてアップで同じ角度ばかり描いて塗りでごまかすとそれっぽく見えたりとかいやまあ めるくまある ALL. http://merkmal-2nd.hp.infoseek.co.jp/ http://merkmal-2nd.hp.infoseek.co.jp/image/hl3web.jpg http://merkmal-2nd.hp.infoseek.co.jp/image/thkc1_27.jpg http://merkmal-2nd.hp.infoseek.co.jp/image/thkhl2_covs.jpg http://merkmal-2nd.hp.infoseek.co.jp/image/thkhl1_sample.jpg 以前に描いた連作の怪弾七をまだ引っ張っているようで面白いとは思ったけれどあまり引っ張ってもどうかと現代劇風味だったりオリジナル的な感じ要素が多くて絵柄もあまり受ける感じではないけれど個人的には結構好きかなあまあこんな所でそんなことかかれてもいい迷惑だろうがさりげない古株 もいすちゃー マイク http://moisture.top.web.fc2.com/ http://moisturetop.web.fc2.com/top2.jpg http://blog-imgs-11.fc2.com/m/o/i/moisturemaiku/070923-1.jpg http://blog-imgs-11.fc2.com/m/o/i/moisturemaiku/070923-3.jpg 絵茶の絵は線の修正がないから実力が出るかなああとなんか微妙に頭でかい?ついでにスケッチブックアニメ化とか本当にしていた事に色々驚く雑誌の方で初回から読んでたけどあれ微妙だろ色々な意味で 最近アニメ化事情に東方が乗り込まない事を祈る 妄想回路 H級遊撃隊 http://mousoukairo.seesaa.net/ http://mousoukairo.hp.infoseek.co.jp/gazou/ririkaru/hyousi01.jpg http://mousoukairo.hp.infoseek.co.jp/gazou/zakki/20071007.jpg http://mousoukairo.hp.infoseek.co.jp/gazou/zakki/20070923.jpg 新刊はできることなら「リリカルまりさ」の新作だそうで上の画像は1作目らしいです別に何とも言いませんがSSでもなのはクロスとかあったなあまあ正直に言わせてもらえばどれもこれも誰だてめ絵と絵は顔が縦に長い感じですね 木曜定休 エメ   小町でも参加していたようです Modern Rose 柚木ふろん http://modern-rose.sakura.ne.jp/ http://modern-rose.sakura.ne.jp/blog/srx-005-thumb.jpg http://modern-rose.sakura.ne.jp/blog/srx-004-thumb.jpg http://modern-rose.sakura.ne.jp/blog/srx-003-thumb.jpg 永久亭の輝夜のだらだら漫画の予定です 東方画像ありましたか?本家へのリンクもなかったし絵は結構小奇麗ですがまるで動きが無い様に見えます ものぐらむ 永瀬望 http://www15.ocn.ne.jp/~tea/ http://www15.ocn.ne.jp/~tea/hyoushipre.jpg http://nagase.blog.ocn.ne.jp/.shared/image.html?/photos/uncategorized/3.jpg 反応しづらい下手なものを下手というのは別に良いんだけれど何処をどうと言い辛いまあそんな感じで ももいろけっとしー そっと http://so-den.hp.infoseek.co.jp/ http://so-den.hp.infoseek.co.jp/momi.png http://so-den.hp.infoseek.co.jp/kouroumu_cut.png http://sot.s265.xrea.com/img/kmr.png http://sot.s265.xrea.com/img/rumi.png 目が大きくて指が適当な人となんか無難にまとまっている人結構な数を描いていてこなれていると思う日記見たら二人っぽい 本当に目が曇ってるな 焼き魚   http://bratenfisch.hp.infoseek.co.jp http://bratenfisch.hp.infoseek.co.jp/doujin/lh1.jpg http://bratenfisch.hp.infoseek.co.jp/doujin/ha1.jpg http://bratenfisch.hp.infoseek.co.jp/doujin/bc1.jpg http://bratenfisch.hp.infoseek.co.jp/kiriboshi/img/topcom.jpg 中の人は何人かいるようで絵のほうは底まで下手ではないと思う位しか 画像少ないとね俺は秋刀魚か鰤の塩焼きがいいな 大根おろしと酢橘付きで 夜時雨 かれ草 http://spmikan.fc2web.com/ http://spmikan.fc2web.com/img/kare/2007/otaome.jpg http://spmikan.fc2web.com/img/kare/2006/ob1149931796481.png 背景の橙inピッコロ大魔王は少し面白かった二人サークルで下の絵がかれ草とかいうひとまあ特に何も無い 山猫神社 じょん犬   参加暦葉結構ありましたがHPはないのかな 闇猫堂 闇猫弐式 http://www.h3.dion.ne.jp/~yamineko/ http://www.h3.dion.ne.jp/~yamineko/LOVELOG_IMG/P1000094.JPG http://www.h3.dion.ne.jp/~yamineko/001yd.png http://www.h3.dion.ne.jp/~yamineko/03yd.png ちょっとした本でちょっとした参加者か特に頑張って絵や漫画でどうこうとか言う感じには見えない適当にのんびりやってくださいさりげなく上記の奴全部見れたりするみたいだし気になったらどうぞ漫画描けない人が描いた漫画だと思ったけど 同じような構図ばかりで背景無し 有限会社TEN てん http://www.jttk.zaq.ne.jp/u_ten/ http://www.jttk.zaq.ne.jp/u_ten/cg/ten/d0324.jpg http://www.jttk.zaq.ne.jp/u_ten/cg/ten/d0321.jpg http://www.jttk.zaq.ne.jp/u_ten/cg/ten/d0319.jpg http://www.jttk.zaq.ne.jp/u_ten/cg/ten/d0318.jpg http://www.jttk.zaq.ne.jp/u_ten/cg/ten/d0317.jpg 誕生日云々言ってましたが年取らない人間は死んだ人間だけです年を取りたくないなら死ねば良いと思うよそれなりに見れる絵だと思いますがあまり顔が可愛くないかなあ結構致命的だと思う 幽幻会社ちぇんのしっぽ 真城響也 http://plaza.rakuten.co.jp/graffias http://image.space.rakuten.co.jp/lg01/69/0000482469/95/imgca0bdd35zik2zj.jpeg 車やバイクが好きなのは分かった 人間時間は限られているから何かに打ち込めば他にかける時間が減るものだ二兎を追うとかそういうことだよ 幽幻の蝶 バド・ギガンティア   http://ghostbutterfly.blog107.fc2.com/ ギガンティアって薔薇の種類だっけマリ見てか何かの奴明らかにそういう作品から取った名前はどうも苦笑が文章系同人サークルとのことで ゆうなぎ人形館と鈴峯堂/c 九音ムネハル http://www.geocites.jp/xwcyg679/body/index.htm ↓で http://www.geocities.jp/xwcyg679/body/ http://www.geocities.jp/xwcyg679/body/works/k/alice/9918060_212.jpg http://www.geocities.jp/xwcyg679/body/works/k/youmu/63ebac143f35895f2de2-L.jpg http://www.geocities.jp/xwcyg679/body/works/k/youmu/beb679687211e6ba67ba-L.jpg http://www.geocities.jp/xwcyg679/body/works/k/udon/9728415_204.jpg なんか直リンクポップアップする上にどこかへ飛んだのは仕様ですガレキらしいですこっちもあまり分からないんですが結構それっぽく出来ている気はします欲しかったら行くといいんじゃないでしょうか 遊派未鶴党 秋野未鶴 http://www.cronos.ne.jp/~mikakuto/ http://www.cronos.ne.jp/~mikakuto/gallery/copy/img/c018.jpg http://www.cronos.ne.jp/~mikakuto/gallery/copy/img/c015.jpg http://www.cronos.ne.jp/~mikakuto/gallery/copy/img/c011.jpg いやみの無い絵で整っていていいと思います只記憶に残るほど特徴もない絵かなどこかで特色が欲しいかも ユキゲノム リンカ http://piyora.xii.jp/ http://piyora.xii.jp/touhou20.JPG http://piyora.xii.jp/touhou19.JPG http://piyora.xii.jp/touhou18.JPG http://piyora.xii.jp/touhou7.JPG 大槍何とかとかFSSとかそれっぽい感じの絵 自分はあまり好きじゃない病的な細さとかそんなイメージ 指とか特にFSSの方に見えるかなあそれがなくても独特の色使いで雰囲気があるかも好きな人は好きになるんじゃないかね ゆずぱいん 猫乃美龍 http://yuzupain.cocolog-nifty.com/blog/ http://yuzupain.cocolog-nifty.com/photos/uncategorized/2007/09/08/photo.jpg http://yuzupain.cocolog-nifty.com/photos/uncategorized/2007/09/08/photo.jpg ヤンデレって分かりやすく言うとストーカーメンヘラ野郎の事ですよね(時節の挨拶原稿データが消えたと書かれていましたが本当に締め切りが近くなるとパソコンは壊れますねデジタルになってからは面倒になった時の言い訳に最高ね☆ いえ別にここの人がそうだといってるわけではないですよええとなんか間接部分が怖いです 柚子桃ジャム 柚子桃 http://yuzumomo.blogdns.com/ http://yuzumomo.blogdns.com/img/circle/200711/00.jpg http://yuzumomo.blogdns.com/blogimg/51.jpg http://yuzumomo.blogdns.com/blogimg/45.jpg やるだけ漫画でいいから無駄に変な話をつけないほうがいいと愚考正直需要と供給でつりあっていないかと多分本人がやりたいんだろうと思うんだけどさ今回の物みたいに普通漫画を描くのがいいと思う 余計なお世話だろうけれどねまあ多分というかまず間違いなく生えているんだろうとここまで書いた後に健全と書いてあって反応に困った絵は上手くなっているんだろうか?良く分からない 嫌いではないよ ゆめいろごろも 春日沙生 http://yumegoro.sumomo.ne.jp http://yumegoro.sumomo.ne.jp/rakugaki/7-10-10-4.jpg http://yumegoro.sumomo.ne.jp/rakugaki/7-10-06-1.jpg http://yumegoro.sumomo.ne.jp/rakugaki/7-10-09-1.jpg http://yumegoro.sumomo.ne.jp/rakugaki/7-10-08-2.jpg http://yumegoro.sumomo.ne.jp/rakugaki/7-10-11-1.jpg またなんとも細かい髪の毛や服など書き込んでも綺麗かどうかは別物で服のほうは正直変だし髪の毛は何処から生えてどう流れているか考えて描いているんだろうか少女漫画的というより少女的か 皆同じように見える顔 夢雲神社 夢雲 縁 http://mixi.jp/show_friend.pl?id=2422349 miximixiみぃみぃ入場制限のある場所へのリンクはどうかと 幽々子さま ごはんですよhttp://www.h2.dion.ne.jp/~asakana http://www.h2.dion.ne.jp/~asakana/07.10.15.jpg http://www.h2.dion.ne.jp/~asakana/Y-yomu+.jpg 下のごはんはまだ??との合同サークル幽々子のルビがユウコになっていたことについて何か言いたい事があればいまさら読みを知らないと言うこともないだろうけれどずっと上達しているようには見えない絵アナログで描いてるのか?クリ絵とかにいた気がするけれどアニメ塗りとかにするだけでもイメージは変わると思うまあそれより先に見づらくてしょうがないイラストのページをどうにかして欲しい ゆゆゆ mantrapri http://d.hatena.ne.jp/mantrapri/ http://f.hatena.ne.jp/images/fotolife/m/mantrapri/20071015/20071015031212.jpg http://f.hatena.ne.jp/images/fotolife/m/mantrapri/20071010/20071010202122.jpg http://f.hatena.ne.jp/images/fotolife/m/mantrapri/20071009/20071009134624.jpg http://f.hatena.ne.jp/images/fotolife/m/mantrapri/20070918/20070918013947.jpg 少女ホラー漫画的な絵だなええと犯人はウォーグレイブ判事 ゆるりどころ 樋田 ゆ http://www.dsk.zaq.ne.jp/fabis505/ http://www.dsk.zaq.ne.jp/fabis505/douzin/dou4.gif http://www.dsk.zaq.ne.jp/fabis505/touhou/webth01.jpg http://www.dsk.zaq.ne.jp/fabis505/touhou/webth06.gif 何とも言わないけれどこれでも週刊誌に載っていて他の作品と比べたときなんと思うんだろう週間で何ページとか継続的にかけると思っているんだろうかまあ夢見る事は勝手だと思うけれどね頭が小さい 脳が入ってないっぽい形 立体感もあるとはいえないな 妖鬼幻想夜叉 http://www18.ocn.ne.jp/~yasha/ http://www18.ocn.ne.jp/~yasha/img/190527.jpg http://www18.ocn.ne.jp/~yasha/img/190525.jpg http://www18.ocn.ne.jp/~yasha/img/181029.jpg 絵を描き続けるようなら練習をしてくださいまず模写から入っていつも書いているえとの相違点探したりしてもいいかもまあそれ以前だと思うけれど 妖夢ごはんはまだかしら ヨヒノリ http://yohitama.nobody.jp/ http://yohitama.nobody.jp/cg/yohinori126.jpg http://yohitama.nobody.jp/cg/yohinori116.jpg 上にあるサークルご飯ですよと合同らしい別に妖夢は飯作ってねえよ的設定がお上から達せられたけれどどうでもいいことなのでしょう何と言うか絵が古臭いのは何処を直すといいんだろうねまあ顔なんだろうけれど 吉田未来Project ヤン http://sound.jp/yoshipro/ アレンジ 夜鳴きスズメ友の会かなめテツ http://www.eonet.ne.jp/~yonaki/ http://www.eonet.ne.jp/~yonaki/minicut/Gai4Omoteurasample.jpg http://www.eonet.ne.jp/~yonaki/minicut/Gai4tobira.jpg http://www.eonet.ne.jp/~yonaki/manga/gai4_04.jpg http://blog-imgs-12.fc2.com/y/o/n/yonakiblog/teruyosan1.jpg 東方4コマ合同誌4コマスペカ劇場主催 絵が上手いという事もなく時事ネタなども多く正直どうかと御思うけれどギャグだと目を潰れるならまあ 夜逃げ屋仮店舗ヨセミテサム http://yonigeyakari.pc-98.org http://yonigeyakari.pc-98.org/gallery/img/sam093.png http://yonigeyakari.pc-98.org/gallery/img/sam099.png http://yonigeyakari.pc-98.org/gallery/img/sam105.png http://yonigeyakari.pc-98.org/gallery/img/sam053.png http://yonigeyakari.pc-98.org/gallery/img/sam092.png 何と言うか適当脱力するような絵ばかりだけれどこれはこれで良い様な気もしますむしろさほど画力があると思えないのでそういう方向で行った方がいいと思う 夜の勉強会みひろ http://home10.highway.ne.jp/yoru/ http://home10.highway.ne.jp/yoru/youmu03.jpg http://home10.highway.ne.jp/yoru/mokokei.jpg http://home10.highway.ne.jp/yoru/reimu.jpg http://home10.highway.ne.jp/yoru/yuyuko02.jpg http://home10.highway.ne.jp/yoru/mokou3.jpg 趣味でやってるわけだし別に悪いわけはないなんというかまあ描くキャラが固定されているんだなあと 好きなキャラばかりなんだろうな虹彩激しい塗りで目にまぶしい特に目だってどうこうはないけれど装飾品類がでかい ちょっと頭がでかめかな 404 沢屋 http://kome.nengu.jp/ http://kome.nengu.jp/img/dpic/20071007b.png http://kome.nengu.jp/img/pbbs/60.png http://kome.nengu.jp/img/pbbs/59.png http://kome.nengu.jp/img/pchat/10.png http://kome.nengu.jp/img/dpic/20070926.gif 学生に戻りたいと思うことは良くあります下手だったりしないけれど ほかにも見たことのあるような絵柄良くも悪くも記憶に残るような感じではないかなあ LIFE A LIVE ??Odio?? 奈月 日勝 http://lalnatsuki.sakura.ne.jp http://lalnatsuki.sakura.ne.jp/index.file/lily1_top.jpg http://lalnatsuki.sakura.ne.jp/illust/aqn_01.jpg http://lalnatsuki.sakura.ne.jp/illust/patchouli_knowledge01.jpg これも線が細い それと装飾品などの大きさが過剰体と大きさを比べて髪の毛やら服やらがね東方の人ではこういうの結構多いと思う いや誉めてはいないよあとバランスがおかしいかな  らむね堂 ユキノ カリン   前紅楼夢などに参加していた様子 らりるれろ D   これほどまでに俺がダミーだと思ったサークルは他にないしかしそうでもない辺りが世の中の不思議なところでそこそこイベントに参加しているサークルのようです りべるて すぎうらじゅん http://oak.zero.ad.jp/liberte/ http://blog6.fc2.com/o/orzorzorzx100/file/20071014020402.jpg http://blog6.fc2.com/o/orzorzorzx100/file/20070927195202.jpg またこう趣味の品をと思った次第本を作っているんだから画像の一つも置いていて欲しいガチャなどについては下に一言添えたので読んだりすると嬉しいかもしれないが正直即売会に足を運ぶか分からないからどうでも良い りゃふか ヒメキ   クドリャフカからのサークル名だと思うんですがちょこちょこそれらしきものがあったり無かったりちょっと判断付かないので気になったら自分で調べてみてください リュージのサークル リュージ http://www.h7.dion.ne.jp/~ryuji/index.htm http://www.h7.dion.ne.jp/~ryuji/image/2007_syotyuu.jpg http://www.h7.dion.ne.jp/~ryuji/image/071011.jpg http://www.h7.dion.ne.jp/~ryuji/image/070930_01.jpg http://www.h7.dion.ne.jp/~ryuji/image/070922.jpg あまりきちんと描けてないなぁパーツパーツが描くたびに違うでしょう後角度と関わるたびにも変わっていそうもう少し安定感もつと言うかなんだろうな 涼風一陣 かぜっち   おすわりPOP企画とかいうので名前が載っていますほかにも参加暦がありました 緑茶!! ryokutya http://85siki.web.fc2.com/ http://image.blog.livedoor.jp/roa4051/imgs/c/1/c196714d.jpg http://image.blog.livedoor.jp/roa4051/imgs/d/5/d5ad5070.jpg http://image.blog.livedoor.jp/roa4051/imgs/f/c/fc5129a8.jpg http://image.blog.livedoor.jp/roa4051/imgs/9/2/921e7b3f.jpg http://image.blog.livedoor.jp/roa4051/imgs/a/b/aba18254.jpg http://image.blog.livedoor.jp/roa4051/imgs/e/d/eda2a4fd.jpg http://image.blog.livedoor.jp/roa4051/imgs/f/a/fa61d6d5.jpg 俺の嫁とか気持ち悪い結構遡って見たけれどどれもこれも誰を書いたのか分かりづらい 顔の書き分けが出来ていないひたすら描き続けていてまあ現実逃避っぽいけれどこれだけの数をこなしている事は結構凄いと思う遡ってみてきているので的外れになるかもしれないけれど腹部が前に出っ張りすぎかな 自分で立っている時を考えればいいと思う後年による書き分けが出来ていない 同じような年代の絵だけなのか?あときちんとした一枚絵とかもう少し置いて欲しいか 色塗り苦手みたいね余計だが働いて生きて行くのと働かないで生きて行くのでは後者のほうが難しいだから皆普通に働いているわけだ 緑茶喫茶狐々玉露 http://ryokutyakissa.kakurezato.com/ http://ryokutyakissa.kakurezato.com/circlecut02.jpg http://ryokutyakissa.kakurezato.com/tewi01.jpg http://ryokutyakissa.kakurezato.com/reimu02.jpg http://ryokutyakissa.kakurezato.com/alice01.jpg top画像を見て自分には計りきれないと思った何人かのサークルですけど名前出ている人の絵はてゐのやつですねまあがんばれ Ruins on the Lotus Position 長月http://rlp.sakura.ne.jp アレンジ るくしあ大陸 由岐シュウカ http://luxia.vis.ne.jp/ http://luxia.vis.ne.jp/cg_images/th105.jpg http://luxia.vis.ne.jp/cg_images/toh001.jpg http://luxia.vis.ne.jp/LoveR/title_LoveR.jpg http://luxia.vis.ne.jp/LoveR/LR01.jpg http://luxia.vis.ne.jp/LoveR/LR03-.jpg どうにも線が細すぎる書き込みは凄いけれどこういう線は好き嫌いが分かれるところ少女漫画的なものが苦手な人も多いし人の体の描き方は上達していないように見えるなあ Lunade Luna 鍋島 http://lunadeluna.b7m.net/ こっちhttp://lunadeluna.blog.shinobi.jp/ http://file.lunadeluna.blog.shinobi.jp/071006.jpg http://file.lunadeluna.blog.shinobi.jp/071004.jpg http://file.lunadeluna.blog.shinobi.jp/070928.jpg 何故か画像を読み込む途中で止まるくそ回線がっ!頭身高めな絵とデフォルメ効いた絵と書き分けも出来ているし上手なんではないかと灰村キヨタカとかに似ている気がする 顔ね ルナフェスジッコウイインカイ   http://lnafes.dojin.com/ http://lnafes.dojin.com/lunafes2_a.jpg 何でこの名前でサークル参加するんだろうな何やるのか知りませんけど個人でのサークルにすればいいのに 流風舎 北野 秀 http://www.interq.or.jp/green/fairy http://www.interq.or.jp/green/fairy/mannga/touhou001.jpg http://www.interq.or.jp/green/fairy/mannga/touhou002.jpg http://www.interq.or.jp/green/fairy/mannga/touhou003.jpg 何となくきえーざとかと似ている気がする 絵のほうね目の形とかだろうかね 一昔前な感じもか Luft Forst KAZAMIhttp://luftforst.client.jp/ http://tokyo.cool.ne.jp/luftbox/c72pv.png http://tokyo.cool.ne.jp/luftbox/c72pvd.png http://tokyo.cool.ne.jp/luftbox/c72pvc.png なんかのパクリだのかんだの言われてましたね 真っ黒っぽかったけれどいつものとうりカラーエロ本描くのでしょう微妙に崩れた感じ 手や指など細かいところ苦手そう 顔が小さめなのかでもまあ結構長いことやっているしリピーターもいるんじゃないでしょうかカラー漫画ってのも少し高く付くけれど本として魅力があるのかもしれない 瑠璃少女 一柳麻衣   http://ruriirosyouzyo.blog.shinobi.jp/Entry/1/ http://file.ruriirosyouzyo.blog.shinobi.jp/Img/1191257932/イラスト本「東方お絵かき帳」・・・・500円 ☆壁紙集「東方画集」・・・・500円・未確定配布物 ☆ラミカ・・・・100円 おすわりPOPという誰が喜ぶのか本気で分からない企画に参加しているようです結構頑張っているような感じですかね画像などが少なくて絵柄などは何とも言えないかな るるいえの館 双葉 一葉 http://lovecraft.xxxxxxxx.jp/ http://lovecraft.xxxxxxxx.jp/cg/komachi20070522.jpg http://lovecraft.xxxxxxxx.jp/cg/chinpo.jpg なんだろうTOP画像で浮かんだのはブロンコ一人旅とか  TOPTPOって似てるよね いや関係ないけど18禁だそうで レイゾウコ しもん http://rezoko.web.fc2.com/ http://blog-imgs-12.fc2.com/s/i/m/simonletty/1450.jpg http://blog-imgs-12.fc2.com/s/i/m/simonletty/1458.jpg http://blog-imgs-12.fc2.com/s/i/m/simonletty/20070927235543.jpg http://blog-imgs-12.fc2.com/s/i/m/simonletty/20071009021153.jpg キャラの特徴を捉えるのが下手なのかいまいち誰か分かりづらい色塗らないと誰だか分からないんじゃないかと思う何人か絵を書いている人がいるのか?微妙に違う気もする本当にキャラ毎に分かりやすい特徴のある作品はいいね全員制服とかだったら大半が れいてぃ屋 レイぽそ http://www.phoenix-c.or.jp/~poso/ http://www.phoenix-c.or.jp/~poso/title07.jpg http://www.phoenix-c.or.jp/~poso/top16.gif http://www.phoenix-c.or.jp/~poso/mino01.jpg http://www.phoenix-c.or.jp/~poso/sizu01.jpg ツンデレアリス合同誌に8ページ描きましたさやかたさんの夏コミ新刊にひっそりと白狐さんのサンクリ37新刊にこっそりと東方紅楼夢頒布予定のレミ咲合同企画に参加予定です 有名なのかどうか ルーミア合同作ったところ本人は壊れ系のギャグで絵が下手塗りは上手くなってるけれど 人がまともに描けないのは相変わらずだなあ れぎゅらーぼーなす和頼 http://space.geocities.jp/regularbonus_site/ サイト予定地なにもない Reticulian NONAME http://reticulian.sakura.ne.jp/ http://reticulian.sakura.ne.jp/picture/battlebanner1_top.jpg http://reticulian.sakura.ne.jp/battlebanner1_big.jpg http://reticulian.sakura.ne.jp/picture/akyu.jpg http://reticulian.sakura.ne.jp/picture/nenga1.jpg http://reticulian.sakura.ne.jp/picture/nenga2.jpg バトルオンリー主催 また合同っすか へたれが集まってもゴミの 言いすぎですかそうですか正直バトルとか適当漫画描くよりも画力必要だろうにやりたいことやるのは良いけれど我が身を振り返ってだな まあいいけどサムネイルで見えた画像が全てと言えるほど同じ方向を向いていてお前本気で駄目だろうとついでにバナー画像のすごい肌の色 死人より青白い蒼白なんて言葉あるけれどあまりいい意味には使われないな肌の白いは七難隠すとも言うけど 白い漫画はどうなのか松倉さん元気ですかね LETRA 滝太郎 http://cute.cd/airo/ http://blog44.fc2.com/l/letra/file/th45.jpg http://blog44.fc2.com/l/letra/file/otm01.jpg http://blog44.fc2.com/l/letra/file/otm02.jpg http://blog44.fc2.com/l/letra/file/sanae.jpg そこはかとなく古いと言うかなんか微妙な細さが気になる絵何となく少女漫画的な絵かな 悪くは無いと思いますが レトロスペクティブカレイドスコープ れとか   万華鏡と素敵だよねくるくるくるくるきらびやかな欠片が散らばって目に痛いんだよ多分初参加の人じゃなければダミー 煉獄白昼夢 ぜつえい http://korosu.jorougumo.com/ http://korosu.jorougumo.com/tare.jpeg http://korosu.jorougumo.com/youmu3.jpeg 特に何か言うほどでもないなあ名前すげえなとは思う 廊下航空廊下http://www.roukamado.com/ http://www.roukamado.com/images/topkabe.jpg http://www.roukamado.com/frame/gallery/color/color10.jpg 顔が糸瓜みたいな形だのう色使いとかは独特なものが合って良い感じだけれど顔が一番見られるから難しいか 老協 IMO http://www.eonet.ne.jp/~rokka-ann http://www.eonet.ne.jp/~rokka-ann/illust/syuuennojokyoku.jpg http://www.eonet.ne.jp/~rokka-ann/illust/kohma.jpg http://www.eonet.ne.jp/~rokka-ann/illust/4koma.jpg http://www.eonet.ne.jp/~rokka-ann/4koma/keine01.jpg 絵は綺麗だけれど人間味が無いと言うか生活観が無いと言うか本当に絵だなあって ロールケーキ ろ??るぱん2 http://popp-web.com/ http://popp-web.com/syuryo.jpg へえ http://maniax.dlsite.com/work/=/product_id/RJ031882 何とも言いづらい漫画音楽は一緒にするものじゃない 六月無礼 青狸 http://unit12.blog16.fc2.com/ バイクが好きなのは良く分かったこけたら高確率で死ぬから気をつけるといいよ ロクカワ ろく http://warrock.gozaru.jp/index.htm http://warrock.gozaru.jp/My%20Pictures/''roku-junk''/sample/suwako01.gif http://warrock.gozaru.jp/My%20Pictures/''roku-junk''/sample/sankuri37-01.jpg http://warrock.gozaru.jp/My%20Pictures/''roku-junk''/20070419roku01.gif http://warrock.gozaru.jp/My%20Pictures/''roku-junk''/sample/bakabon01.jpg http://www4.oekakibbs.com/bbs/warrock28/data/158.gif http://www4.oekakibbs.com/bbs/warrock28/data/156.gif 録を食む いや関係ない線に補正が付くとずいぶん綺麗になると良く分かる人絵がさっぱりしすぎている感じもする水彩使っているようには見えないけれどアニメ塗りに見えないのが特徴なのか漫画のほうは結構普通 どちらかと言うと誉め言葉 ろまんすの猫狼娘 Gisyo http://www.geocities.jp/roma_haiena/ 移転だそうで http://romansuneko.web.fc2.com/ http://romansuneko.web.fc2.com/mixynikki195.jpg http://romansuneko.web.fc2.com/mixynikki187.jpg http://romansuneko.web.fc2.com/mixynikki144.jpg http://romansuneko.web.fc2.com/mixynikki106.jpg mixiやるなといわないけど同じ内容でも転載すればいいのにと思う両方更新できないならどちらかに絞ってやってればいいと思う まあ勝手だけどえーとこういう絵柄はどうもトレスとかそういう方向を考えてしまって本とか作ってもイラストだけとか薄っぺらないないようになってる人が多い ロリエース朱シオ http://www2.kct.ne.jp/~saracca/ http://www2.kct.ne.jp/~saracca/14yukari.jpg http://www2.kct.ne.jp/~saracca/arisumori.jpg http://www2.kct.ne.jp/~saracca/sakuya5.jpg http://www2.kct.ne.jp/~saracca/remi7.jpg http://www2.kct.ne.jp/~saracca/udonkagakuen.jpg http://www2.kct.ne.jp/~saracca/yukari7.jpg このサークル名はロリコンのエースという事でいいんだろうかずいぶんと塗りでごまかしている感じが強いなついでにどれもこれも格好が違って誰なんだか何と言うかどれも微妙にぎこちない 和式interふぉん ぼぶ http://59.xmbs.jp/washiki/ http://59.xmbs.jp/_ppic_/138/fbf93d.jpghttp://59.xmbs.jp/_alpic_/3/145/55bb7c.jpg http://59.xmbs.jp/_alpic_/5/863/a2b86a.jpg http://59.xmbs.jp/_alpic_/4/839/9c2a93.jpg http://59.xmbs.jp/_alpic_/4/63/61ca3d.jpg 携帯用サイト?ちょっと画像が小さいのはそのせいなのか小さいいせいでちょっと分かりづらいけれど下手ではないと思う

http://anond.hatelabo.jp/20071019115827

「自前のflvプレイヤーを経由して動画を見て欲しい」

ってのは、

「うちのホムパゲにアクセスするときはTOPページからアクセスするように」

ってのとどう異なるの?

激しくちがうだろう。

リンク(外部参照)するのとフレームsrcで内部参照するぐらい違う。

著作権で言うと著作者財産権(おもに公衆送信権)の侵害のみならず、著作者人格権まで侵害している。

財産権はこれは侵害ではなく賛助行為ですと言い逃れできるかもしれないが、

後者の侵害は言い逃れが難しい。

絵が一枚あって、

こんな絵があるんですよーと紹介するのと、

この絵は私が書きましたと紹介するのは大きく違う。

私が書きましたと明記してなくとも第三者が勘違いする可能性がある以上ダメだ。

公衆送信元を隠蔽した上で、第三者にダウンロードさせるのは人格権の侵害にほかならん。

(そういう意味で当初のRimoとかはかなりヤバかった。)

そういう意味ひろゆきこれはいいのがれの余地がどこにあるのか?と、

不思議におもったのであって、別に恫喝というレベルですらないと思う。

もし、いいのがれの余地があるのだったら自分もつかおうぐらいに考えているはずだし、

余地がないんだったら訴えてみたら楽しそうとか考えたのではないか。

ニコニコ動画が権利者から訴えられても係争の余地はあるが、

この会社がこれの発売に踏み切ってドワンゴから訴えられた係争の余地はほとんど無いだろう。

と、思うんだけどどうなのよ。

http://anond.hatelabo.jp/20071019115827

wwwで公開しておきながら

セキュリティホールは突かないで欲しい」

ってのは、

「うちのホムパゲにアクセスするときはTOPページからアクセスするように」

ってのとどう異なるの?

もしかして、無断リンク禁止派?

http://anond.hatelabo.jp/20071019115827

wwwで公開しておきながら

>.

「自前のflvプレイヤーを経由して動画を見て欲しい」

ってのは、

「うちのホムパゲにアクセスするときはTOPページからアクセスするように」

ってのとどう異なるの?

もしかして、無断リンク禁止派?

<<

なるほど。

じゃあニコ動動画ダウンロードするツールを作って売ってもいいよね。

なぜツールからアクセスしちゃ駄目とか言い出すの?

もしかして、無断アクセス禁止とか?w

あなたが元文を理解できてないと書いている理由はまさにここ。

「何が駄目か」なんて話は誰もしていない。

一方では白とした内容を、他方では黒と言っているダブルスタンダードぶりを批判している。

判ったらニコ動でも見てなさいw

http://anond.hatelabo.jp/20071019115214

wwwで公開しておきながら

「自前のflvプレイヤーを経由して動画を見て欲しい」

ってのは、

「うちのホムパゲにアクセスするときはTOPページからアクセスするように」

ってのとどう異なるの?

もしかして、無断リンク禁止派?

ひろゆき別にダブスタじゃないじゃん。訴訟上等でかかってこいや!って言ってる訳でしょ。

youtubeに対してひろゆきがとった態度と全く同じジャン。

2007-10-09

あるよあるある

http://anond.hatelabo.jp/20071009095939

社会の上層ってのに名誉や誇りを抜いて、金とステータスだけでいいのなら、手段はたくさんある。

DQN世界に潜り込め。そこではおまえが持ってるありえないほど単純なスキルを、恐ろしいほど高く買ってくれる。

出会い系さくらバイトでさ、まぁほかにもいろいろやるんで事務所に集合して仕事するんだけど、俺は人として当然毎日時間どおりの勤務をした。

そしたら無遅刻無欠勤ってことだけで1ヶ月でTOPに。だって他の奴ら文章もまともに書けず、遅刻は日常茶飯事で勝手に休むは連絡もなく逃げるはで、ひどいもんだった。

人並にコンピュータを使えるってだけでいくつものHPの運営から金管理(エクセル操作できるから)までまかされ、学校卒業したら

是非来てくれって言われた。エロサイトやら少しヤバイ仕事も合わせて月給60万やるって言われた。ボーナスもあって年収は800万くらいになるって言われた。

部下もつけるし、すぐに俺みたいに20代で外車乗り回していい女抱けるぜって言われた。

でも俺は親の悲しむ顔が脳裏に浮かんだから、月給20万のふつーの会社に入社。こんな単純なマクロも作れんのかって怒られる日々。オチこぼれ。

工場なんかもいいかも、あくまで現場な、経営戦略とか考える本社の人とは無縁の場所。

俺は中小企業工場バイトしたことがある。

市町村別に30くらいある置き場所を覚えて、てきぱきと荷物を捌くんだけど、周りリストラのおっさんみたいなのばかりで、奴らちっとも場所覚えられないの。

1日で暗記した俺は「やっぱ大学生は頭いいねー」なんて生まれて初めて言われた。3流大の俺が。

その後調子に乗って無駄フローとかまとめて、職場改善案を出したら社員に大好評で、卒業後はぜひ来てくれとスカウトされた。

大卒だからそれなりのポジションを用意するし、絶対お友達に負けないお金を出すよって言われた。ちなみにその工場大卒専務さん一人。

でも親のすっきりしない顔が脳裏に浮かんだから、ふつーの会社に以下ry

ようは小さいお山のてっぺんなら上れるってこと。そしてそれは富士山エベレストを半分も上れない他の大勢よりも高待遇だってこと。スキルは下なのに。

それでも多くの人がでかい山に向かうのは、「たとえ下っ端でも俺はエベレストにいるんだ、おまえらとは違う」って誇りを持てるからってのが本音じゃねぇの?

2007-10-07

mixiユーザースタイルシート書いてみた

ミクシィデザインにむかついた。

素敵さんが公開されているユーザースタイルシートをつかいたかった

でもニュース日記ランキングは表示したかった

→自分でなんとかするしかないみたいだ・・・

っちゅーことでつくったcss

人様のコードを土台にしてるしブログなんてもってないし

コードは整理されてないしもうやる気は残ってないし

でココで公開してしまえ

ミクシィの表示を横幅720pxの2ペインにします。

主な改造点は

・全体的に行間を狭めた。

・全体的に余白を狭めた。

ニュース天気ランキングを一番下に表示。

・ついでに一番上のmixiロゴも控えめな大きさに。

・一部の背景をうっすーい灰色にした。

・さよならmikly

・絶対位置指定divを排除(全部は無理なので目立つ部分を適当に。)

・グローバルナビとかローカルナビとかのメニュー画像幅調整

広告をほどほどけした。

etc...

使い方は「mixi ユーザースタイルシート」あたりで検索してくれ…

/* mixi User Style Sheet by anon */
/*  based mixi 2pain User StyleSheet (by Shao)  thank you ! */

.emoji{display:none !important}

/* 広告*/
p.adBanner, div#diaryComment div.diaryBottomAd, div.prContents, div.sponsorList01{display:none !important} 
div#adBanner{display:none !important}

/*ローカルナビ*/
#localNavigation ul li{position:static;}
#localNavigation ul.localNaviHome img{width:80px !important;}
#localNavigation ul.localNaviFriend img{width:102px !important;}
a#diaryPullDownButton,a#photoPullDownButton,a#videoPullDownButton, a#reviewPullDownButton{display:none !important}
li.mikly, li.review, li.movie{display:none !important}
li.home img {width:73px !important}

/* infomation */
div.information {line-height:1.1 !important; font-size:12px !important;}
div.information h2{padding-top:10px !important; position:static !important; float:left !important; background-position: 10px 10px !important; }
div.information ul{ line-height:1.1 !important;}
div.information div.contents{ padding-bottom:0px !important; position:static; width: 98%;}
div.information div.contents ul { padding-bottom:0px !important;}

/* delete intro */
#intro{display:none !important}

#bodyContents #newFriendDiary,
#bodyContents #newComment,
#bodyContents #newBbs,
#bodyContents #newVideo,
#bodyContents #newAlbum,
#bodyContents #newPlaylist,
#bodyContents #newReview,
#bodyContents #myUpdate{
padding-bottom:5px !important;
}

div div.contents {line-height:1.1 !important; background:#fcfcfc;}
#newMyDiary div.contents dl.contentsList02{ padding-bottom:1px;}

dl.contentsList01{ line-height:1.5 !important;}
dl.contentsList02{ line-height:1.5 !important;}
ul.entryList01{ line-height: 1.2 !important;}
dl.contentsList01 dd{padding-left:16px; background-position: 0% 0.5em;}

/* 3rd column */
#bodySub{float:left !important;width:100% !important; margin:0;padding:0;}
div#help{display:none !important}
div.prContents, div.adBanner, p.greenpower{display:none !important}
div#miklyContents{display:none !important}
div#prSepecial{display:none !important}
div.bodySubSection {width:224px !important; float:left !important; margin:3px !important;}
div.bodySubSection div.heading01{position:static !important;}
div.bodySubSection a.sectionSize{ position:static !important; margin: -20px 0 0 200px !important; }


/* header*/
#headerArea{ background: none !important; height:91px !important;}
#headerArea h1 a{ padding:5px 0 5px !important;text-align:left !important;width:720px !important;}
#headerArea h1 img {width:93px !important;height:23px !important;}

/* footer */
div#headerArea{width:720px !important}
div#headerArea,div#bodyArea,div#footerArea, div#footerArea p,div#footerArea ul{width:720px !important; }
div#footerArea, div#footerArea p,div#footerArea ul{width:720px !important; overflow:hidden  !important; }
div#footerArea ul.footerNavigation01 li { margin:0 2px !important }

2007-09-19

CSSについてしつもんしつもん

<div id="header"></>
<div id="content">
 <div class="side"></>
 <div id="main"></>
 <div class="side"></>
</>
<div id="footer"></>

こんな感じなんですが、#contentにmargin-bottomをつけたり、#footerにmargin-topをつけたのでは、コンテンツ部とフッター部の間にマージンが空きません。

ですが、#contentの内包するそれぞれのカラムmargin-bottomを設定すると、ちゃんと余白が形成されます。

#contentなしでそれぞれのカラムに設定しても、反映されません。

これなんで?

2007-09-09

空想上のテントではねえ

http://anond.hatelabo.jp/20070909163049

パスワードなどでシステム的に制限をかけない限り、全てのページがだだ見えだよ。

テントの中なんて、当人だけの思いこみ。実際は広場の舞台の上。

そもそもトップページから人が来ると考えているのが間違い。

検索かけてヒットしたページを読んで、そこから興味を引かれてTOPページ。

あるいは、読んでみたけどおもしろくなかったので、そのまま別のサイトに。

読んだページのサイトTOPに何を書いたかなんて欠片も目にせず……も、普通の話でしょ。

追加すると、ネットは基本的にそんな場所だってこと。

全世界に情報を公開するためにつくられた見られるための舞台

そこに、自分から登ってきて踊っていながら、自分の気に入った相手にだけ見て貰うことを望むのはどだい無理だよって話。

2007-09-05

かなり適当

俺はまず、ココを余暇として楽しんでいるため、全部の記事を読んでいない。

なので、TOPページに入って上からスクロールしながら気になる記事を探す。

無ければ次のページに飛ぶ

気になる記事を見つけたら読む。その記事がトラックバックだったら、元記事を読み進めていく。

元記事だった時は、トラバ出来そうならする。他は心にとどめておく。

そんな感じでここに書かれている1割も読んでいないと思う。

こう言う楽しみ方も有かな?と思います。

全部の記事を読みたい人向けの読み方ではないですね。

http://anond.hatelabo.jp/20070905123329

2007-09-04

http://anond.hatelabo.jp/20070903181836

こんな感じでどうなんだろうか。

SQLServer2000のNorthwindのOrdersテーブルで試してみた。

select top 10 * FROM dbo.Orders WHERE orderid NOT IN ( select top 10 orderid FROM dbo.Orders ORDER BY orderid) ORDER BY orderid

select top 10 * FROM ( select top 20 * FROM dbo.Orders ORDER BY orderid) AS tbl ORDER BY orderid DESC

2007-09-03

http://anond.hatelabo.jp/20070903181836

それは・・・

と答えようとして頭がうにになった。

こんなことも答えられない自分に絶望した。

limit句がつかえないのはわかる。

topでとってrownumだっけかと調べてみたらそれはOracleだった。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1111889701

・・・あれ、row_number() なんて関数しらんな。

そうか自分が最後に触ってたのは2000までだったか。

だめだ、なんかへこんだ。

もう何もかも忘れてしまった。

2007-08-12

RSSリーダーは使える!

完全に乗り遅れましたが、少し前にひろゆき氏の「RSSリーダー情報収集に使う理由がやっぱりわからない。」についての議論が盛り上がっていました。で、議論の流れを、軽く流し読みしてみて思ったのですが、なんだか、(RSSリーダーをそれほど使い込んでいない)自分が基本だと思っていたことが書かれていないな、というのが私の感想でした。ので、その辺について少し書きます。

まず、議論の一連の流れについては、下のURLを参考にしました。

はてブコメント欄のページは、その議論に対するまとめサイト的に使えるので便利ですね・・・)

http://b.hatena.ne.jp/entry/http://www.asks.jp/users/hiro/28353.html

それで、本論に入りますが、上の議論で抜け落ちている点を書きますと、「(特にIT)マスコミの記事を考慮に入れていない」のですね。と、書いても、ピンと来ない方もおられるかも知れませんが、実際使ってみれば分かることなので、試しに、はてなRSSで、各ITマスコミの記事を購読されてみてはいかがでしょうか?

私の場合、例えば、以下のITマスコミの記事を購読しています。

■Tech-On! モバイル

http://techon.nikkeibp.co.jp/mobile/

■Tech-On! デジタル家電

http://techon.nikkeibp.co.jp/d-ce/

■マイコミジャーナル

http://journal.mycom.co.jp/

■@IT

http://www.atmarkit.co.jp/

ITmedia Top Story 最新記事一覧

http://www.itmedia.co.jp/news/fortop/

■ITpro

http://itpro.nikkeibp.co.jp/index.html

Japan.internet.com

http://japan.internet.com/

日経パソコン オンライン

http://pc.nikkeibp.co.jp/pc/index.html

CNET Japan

http://japan.cnet.com/

デジタルARENA

http://arena.nikkeibp.co.jp/

INTERNET Watch

http://internet.watch.impress.co.jp/

PC Watch

http://pc.watch.impress.co.jp/

Open Tech Press

http://opentechpress.jp/

ZDNet Japan ニュース

http://japan.zdnet.com/news/

ASCII24

http://ascii.jp/cate/26/

私の場合、一週間に一度チェックしていますが、上記の記事を全部あわせると、一週間で、約1500エントリくらいたまります。ですので、現実的な話として、RSSリーダーなしには、ITマスコミ情報を網羅し、高速にチェックすることは難しいと思います(大体、ITマスコミサイトはページあたりの情報量が多すぎて、頭が痛くなってきますし)。

個人的に思うのは、RSSリーダーのそもそもの思想が、IT技術者の(というか、ギークが自分の)ニーズに合わせて作ってあるので、IT技術者が便利なように作ってある訳ですね。だから、最新技術の動向を追いかけるという面において、RSSリーダーは非常に相性がいい作りになっていると思います。

少なくとも、新聞のザッと読みみたいな感じで、業界全体の動向を見渡す、という面では使える技術だと思います。はてなブックマークの人気記事だけ見ても、業界全体の動向は分からないですし、ブックマークされていない記事でも自分が興味の引かれる記事は必ずあります。

まあ、アルファブックマーカーというのは、間違いなくRSSリーダーを使っているでしょうし、今さら言うべきことではないのかも知れませんが、どうも、似非技術者の端くれとしては、上の議論にこういった使い方が紹介されていないのは、違和感を感じます。

2007-07-19

/* Ten */
if (typeof(Ten) == 'undefined') {
    Ten = {};
}
Ten.NAME = 'Ten';
Ten.VERSION = 0.06;

/* Ten.Class */
Ten.Class = function(klass, prototype) {
    if (klass && klass.initialize) {
	var c = klass.initialize;
    } else if(klass && klass.base) {
        var c = function() { return klass.base[0].apply(this, arguments) };
    } else {
	var c = function() {};
    }
    c.prototype = prototype || {};
    c.prototype.constructor = c;
    Ten.Class.inherit(c, klass);
    if (klass && klass.base) {
        for (var i = 0;  i < klass.base.length; i++) {
	    var parent = klass.base[i];
            if (i == 0) {
                c.SUPER = parent;
                c.prototype.SUPER = parent.prototype;
            }
            Ten.Class.inherit(c, parent);
            Ten.Class.inherit(c.prototype, parent.prototype);
        }
    }
    return c;
}
Ten.Class.inherit = function(child,parent) {
    for (var prop in parent) {
        if (typeof(child[prop]) != 'undefined' || prop == 'initialize') continue;
        child[prop] = parent[prop];
    }
}

/*
// Basic Ten Classes
**/

/* Ten.JSONP */
Ten.JSONP = new Ten.Class({
    initialize: function(uri,obj,method) {
        if (Ten.JSONP.Callbacks.length) {
            setTimeout(function() {new Ten.JSONP(uri,obj,method)}, 500);
            return;
        }
        var del = uri.match(/\?/) ? '&' : '?';
        uri += del + 'callback=Ten.JSONP.callback';
        if (!uri.match(/timestamp=/)) {
            uri += '&' + encodeURI(new Date());
        }
        if (obj && method) Ten.JSONP.addCallback(obj,method);
        this.script = document.createElement('script');
        this.script.src = uri;
        this.script.type = 'text/javascript';
        document.getElementsByTagName('head')[0].appendChild(this.script);
    },
    addCallback: function(obj,method) {
        Ten.JSONP.Callbacks.push({object: obj, method: method});
    },
    callback: function(args) {
        // alert('callback called');
        var cbs = Ten.JSONP.Callbacks;
        for (var i = 0; i < cbs.length; i++) {
            var cb = cbs[i];
            cb.object[cb.method].call(cb.object, args);
        }
        Ten.JSONP.Callbacks = [];
    },
    MaxBytes: 8000,
    Callbacks: []
});

/* Ten.XHR */
Ten.XHR = new Ten.Class({
    initialize: function(uri,opts,obj,method) {
        if (!uri) return;
        this.request = Ten.XHR.getXMLHttpRequest();
        this.callback = {object: obj, method: method};
        var xhr = this;
        var prc = this.processReqChange;
        this.request.onreadystatechange = function() {
            prc.apply(xhr, arguments);
        }
        var method = opts.method || 'GET';
        this.request.open(method, uri, true);
        if (method == 'POST') {
            this.request.setRequestHeader('Content-Type',
                                          'application/x-www-form-urlencoded');
        }
        var data = opts.data ? Ten.XHR.makePostData(opts.data) : null;
        this.request.send(data);
    },
    getXMLHttpRequest: function() {
        var xhr;
        var tryThese = [
            function () { return new XMLHttpRequest(); },
            function () { return new ActiveXObject('Msxml2.XMLHTTP'); },
            function () { return new ActiveXObject('Microsoft.XMLHTTP'); },
            function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); },
        ];
        for (var i = 0; i < tryThese.length; i++) {
            var func = tryThese[i];
            try {
                xhr = func;
                return func();
            } catch (e) {
                //alert(e);
            }
        }
        return xhr;
    },
    makePostData: function(data) {
        var pairs = [];
        var regexp = /%20/g;
        for (var k in data) {
            var v = data[k].toString();
            var pair = encodeURIComponent(k).replace(regexp,'+') + '=' +
                encodeURIComponent(v).replace(regexp,'+');
            pairs.push(pair);
        }
        return pairs.join('&');
    }
},{
    processReqChange: function() {
        var req = this.request;
        if (req.readyState == 4) {
            if (req.status == 200) {
                var cb = this.callback;
                cb.object[cb.method].call(cb.object, req);
            } else {
                alert("There was a problem retrieving the XML data:\n" +
                      req.statusText);
            }
        }
    }
});

/* Ten.Observer */
Ten.Observer = new Ten.Class({
    initialize: function(element,event,obj,method) {
        var func = obj;
        if (typeof(method) == 'string') {
            func = obj[method];
        }
        this.element = element;
        this.event = event;
        this.listener = function(event) {
            return func.call(obj, new Ten.Event(event || window.event));
        }
        if (this.element.addEventListener) {
            if (this.event.match(/^on(.+)$/)) {
                this.event = RegExp.$1;
            }
            this.element.addEventListener(this.event, this.listener, false);
        } else if (this.element.attachEvent) {
            this.element.attachEvent(this.event, this.listener);
        }
    }
},{
    stop: function() {
        if (this.element.removeEventListener) {
            this.element.removeEventListener(this.event,this.listener,false);
        } else if (this.element.detachEvent) {
            this.element.detachEvent(this.event,this.listener);
        }
    }
});

/* Ten.Event */
Ten.Event = new Ten.Class({
    initialize: function(event) {
        this.event = event;
    },
    keyMap: {
        8:"backspace", 9:"tab", 13:"enter", 19:"pause", 27:"escape", 32:"space",
        33:"pageup", 34:"pagedown", 35:"end", 36:"home", 37:"left", 38:"up",
        39:"right", 40:"down", 44:"printscreen", 45:"insert", 46:"delete",
        112:"f1", 113:"f2", 114:"f3", 115:"f4", 116:"f5", 117:"f6", 118:"f7",
        119:"f8", 120:"f9", 121:"f10", 122:"f11", 123:"f12",
        144:"numlock", 145:"scrolllock"
    }
},{
    mousePosition: function() {
        if (!this.event.clientX) return;
        return Ten.Geometry.getMousePosition(this.event);
    },
    isKey: function(name) {
        var ecode = this.event.keyCode;
        if (!ecode) return;
        var ename = Ten.Event.keyMap[ecode];
        if (!ename) return;
        return (ename == name);
    },
    targetIsFormElements: function() {
        var target = this.event.target;
        if (!target) return;
        var T = (target.tagName || '').toUpperCase();
        return (T == 'INPUT' || T == 'SELECT' || T == 'OPTION' ||
                T == 'BUTTON' || T == 'TEXTAREA');
    },
    stop: function() {
        var e = this.event;
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        } else {
            e.cancelBubble = true;
            e.returnValue = false;
        }
    }
});

/* Ten.DOM */
Ten.DOM = new Ten.Class({
    getElementsByTagAndClassName: function(tagName, className, parent) {
        if (typeof(parent) == 'undefined') {
            parent = document;
        }
        var children = parent.getElementsByTagName(tagName);
        if (className) { 
            var elements = [];
            for (var i = 0; i < children.length; i++) {
                var child = children[i];
                var cls = child.className;
                if (!cls) {
                    continue;
                }
                var classNames = cls.split(' ');
                for (var j = 0; j < classNames.length; j++) {
                    if (classNames[j] == className) {
                        elements.push(child);
                        break;
                    }
                }
            }
            return elements;
        } else {
            return children;
        }
    },
    removeEmptyTextNodes: function(element) {
        var nodes = element.childNodes;
        for (var i = 0; i < nodes.length; i++) {
            var node = nodes[i];
            if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) {
                node.parentNode.removeChild(node);
            }
        }
    },
    nextElement: function(elem) {
        do {
            elem = elem.nextSibling;
        } while (elem && elem.nodeType != 1);
        return elem;
    },
    prevElement: function(elem) {
        do {
            elem = elem.previousSibling;
        } while (elem && elem.nodeType != 1);
        return elem;
    },
    scrapeText: function(node) {
        var rval = [];
        (function (node) {
            var cn = node.childNodes;
            if (cn) {
                for (var i = 0; i < cn.length; i++) {
                    arguments.callee.call(this, cn[i]);
                }
            }
            var nodeValue = node.nodeValue;
            if (typeof(nodeValue) == 'string') {
                rval.push(nodeValue);
            }
        })(node);
        return rval.join('');
    },
    onLoadFunctions: [],
    loaded: false,
    timer: null,
    addEventListener: function(event,func) {
        if (event != 'load') return;
        Ten.DOM.onLoadFunctions.push(func);
        Ten.DOM.checkLoaded();
    },
    checkLoaded: function() {
        var c = Ten.DOM;
        if (c.loaded) return true;
        if (document && document.getElementsByTagName &&
            document.getElementById && document.body) {
            if (c.timer) {
                clearInterval(c.timer);
                c.timer = null;
            }
            for (var i = 0; i < c.onLoadFunctions.length; i++) {
                    c.onLoadFunctions[i]();
            }
            c.onLoadFunctions = [];
            c.loaded = true;
        } else {
            c.timer = setInterval(c.checkLoaded, 13);
        }
    }
});

/* Ten.Style */
Ten.Style = new Ten.Class({
    applyStyle: function(elem, style) {
        for (prop in style) {
            elem.style[prop] = style[prop];
        }
    }
});

/* Ten.Geometry */
Ten.Geometry = new Ten.Class({
    initialize: function() {
        if (Ten.Geometry._initialized) return;
        var func = Ten.Geometry._functions;
        var de = document.documentElement;
        if (window.innerWidth) {
            func.getWindowWidth = function() { return window.innerWidth; }
            func.getWindowHeight = function() { return window.innerHeight; }
            func.getXScroll = function() { return window.pageXOffset; }
            func.getYScroll = function() { return window.pageYOffset; }
        } else if (de && de.clientWidth) {
            func.getWindowWidth = function() { return de.clientWidth; }
            func.getWindowHeight = function() { return de.clientHeight; }
            func.getXScroll = function() { return de.scrollLeft; }
            func.getYScroll = function() { return de.scrollTop; }
        } else if (document.body.clientWidth) {
            func.getWindowWidth = function() { return document.body.clientWidth; }
            func.getWindowHeight = function() { return document.body.clientHeight; }
            func.getXScroll = function() { return document.body.scrollLeft; }
            func.getYScroll = function() { return document.body.scrollTop; }
        }
        Ten.Geometry._initialized = true;
    },
    _initialized: false,
    _functions: {},
    getScroll: function() {
        if (!Ten.Geometry._initialized) new Ten.Geometry;
        return {
            x: Ten.Geometry._functions.getXScroll(),
            y: Ten.Geometry._functions.getYScroll()
        };
    },
    getMousePosition: function(pos) {
        // pos should have clientX, clientY same as mouse event
        if ((navigator.userAgent.indexOf('Safari') > -1) &&
            (navigator.userAgent.indexOf('Version/') < 0)) {
            return {
                x: pos.clientX,
                y: pos.clientY
            };
        } else {
            var scroll = Ten.Geometry.getScroll();
            return {
                x: pos.clientX + scroll.x,
                y: pos.clientY + scroll.y
            };
        }
    },
    getElementPosition: function(e) {
        return {
            x: e.offsetLeft,
            y: e.offsetTop
        };
    },
    getWindowSize: function() {
        if (!Ten.Geometry._initialized) new Ten.Geometry;
        return {
            w: Ten.Geometry._functions.getWindowWidth(),
            h: Ten.Geometry._functions.getWindowHeight()
        };
    }
});

/* Ten.Position */
Ten.Position = new Ten.Class({
    initialize: function(x,y) {
        this.x = x;
        this.y = y;
    },
    subtract: function(a,b) {
        return new Ten.Position(a.x - b.x, a.y - b.y);
    }
});

/*
// require Ten.js
**/

/* Ten.SubWindow */
Ten.SubWindow = new Ten.Class({
    initialize: function() {
        var c = this.constructor;
        if (c.singleton && c._cache) {
            return c._cache;
        }
        var div = document.createElement('div');
        Ten.Style.applyStyle(div, Ten.SubWindow._baseStyle);
        Ten.Style.applyStyle(div, c.style);
        this.window = div;
        this.addContainerAndCloseButton();
        document.body.appendChild(div);
        if (c.draggable) {
            this._draggable = new Ten.Draggable(div, this.handle);
        }
        if (c.singleton) c._cache = this;
        return this;
    },
    _baseStyle: {
        color: '#000',
        position: 'absolute',
        display: 'none',
        zIndex: 2,
        left: 0,
        top: 0,
        backgroundColor: '#fff',
        border: '1px solid #bbb'
    },
    style: {
        padding: '2px',
        textAlign: 'center',
        borderRadius: '6px',
        MozBorderRadius: '6px',
        width: '100px',
        height: '100px'
    },
    handleStyle: {
        position: 'absolute',
        top: '0px',
        left: '0px',
        backgroundColor: '#f3f3f3',
        borderBottom: '1px solid #bbb',
        width: '100%',
        height: '30px'
    },
    containerStyle: {
        margin: '32px 0 0 0',
        padding: '0 10px'
    },
    // closeButton: 'close.gif',
    closeButton: 'http://s.hatena.com/images/close.gif',
    closeButtonStyle: {
        position: 'absolute',
        top: '8px',
        right: '10px',
        cursor: 'pointer'
    },
    _baseScreenStyle: {
        position: 'absolute',
        top: '0px',
        left: '0px',
        display: 'none',
        zIndex: 1,
        overflow: 'hidden',
        width: '100%',
        height: '100%'
    },
    screenStyle: {},
    showScreen: true,
    singleton: true,
    draggable: true,
    _cache: null
},{
    screen: null,
    windowObserver: null,
    visible: false,
    addContainerAndCloseButton: function() {
        var win = this.window;
        var c = this.constructor;
        var div = document.createElement('div');
        win.appendChild(div);
        Ten.Style.applyStyle(div, c.containerStyle);
        this.container = div;
        if (c.handleStyle) {
            var handle = document.createElement('div');
            Ten.Style.applyStyle(handle, c.handleStyle);
            win.appendChild(handle);
            this.handle = handle;
        }
        if (c.closeButton) {
	    var btn = document.createElement('img');
            btn.src = c.closeButton;
            btn.alt = 'close';
            Ten.Style.applyStyle(btn, c.closeButtonStyle);
            win.appendChild(btn);
            new Ten.Observer(btn, 'onclick', this, 'hide');
            this.closeButton = btn;
        }
        if (c.showScreen) {
            var screen = document.createElement('div');
            Ten.Style.applyStyle(screen, Ten.SubWindow._baseScreenStyle);
            Ten.Style.applyStyle(screen, c.screenStyle);
            document.body.appendChild(screen);
            this.screen = screen;
            new Ten.Observer(screen, 'onclick', this, 'hide');
        }
    },
    show: function(pos) {
        pos = (pos.x && pos.y) ? pos : {x:0, y:0};
        with (this.window.style) {
            display = 'block';
            left = pos.x + 'px';
            top = pos.y + 'px';
        }
        if (this.screen) {
            with (this.screen.style) {
                display = 'block';
                left = Ten.Geometry.getScroll().x + 'px';
                top = Ten.Geometry.getScroll().y + 'px';
            }
        }
        this.windowObserver = new Ten.Observer(document.body, 'onkeypress', this, 'handleEscape');
        this.visible = true;
    },
    handleEscape: function(e) {
        if (!e.isKey('escape')) return;
        this.hide();
    },
    hide: function() {
        if (this._draggable) this._draggable.endDrag();
        this.window.style.display = 'none';
        if (this.screen) this.screen.style.display = 'none';
        if (this.windowObserver) this.windowObserver.stop();
        this.visible = false;
    }
});

/* Ten.Draggable */
Ten.Draggable = new Ten.Class({
    initialize: function(element,handle) {
        this.element = element;
        this.handle = handle || element;
        this.startObserver = new Ten.Observer(this.handle, 'onmousedown', this, 'startDrag');
        this.handlers = [];
    }
},{
    startDrag: function(e) {
        if (e.targetIsFormElements()) return;
        this.delta = Ten.Position.subtract(
            e.mousePosition(),
            Ten.Geometry.getElementPosition(this.element)
        );
        this.handlers = [
            new Ten.Observer(document, 'onmousemove', this, 'drag'),
            new Ten.Observer(document, 'onmouseup', this, 'endDrag'),
            new Ten.Observer(this.element, 'onlosecapture', this, 'endDrag')
        ];
        e.stop();
    },
    drag: function(e) {
        var pos = Ten.Position.subtract(e.mousePosition(), this.delta);
        Ten.Style.applyStyle(this.element, {
            left: pos.x + 'px',
            top: pos.y + 'px'
        });
        e.stop();
    },
    endDrag: function(e) {
        for (var i = 0; i < this.handlers.length; i++) {
            this.handlers[i].stop();
        }
        if(e) e.stop();
    }
});

/* Hatena */
if (typeof(Hatena) == 'undefined') {
    Hatena = {};
}

/* Hatena.User */
Hatena.User = new Ten.Class({
    initialize: function(name) {
        this.name = name;
    },
    getProfileIcon: function(name) {
        if (!name) name = 'user';
        var pre = name.match(/^[\w-]{2}/)[0];
        var img = document.createElement('img');
        img.src = 'http://www.hatena.ne.jp/users/' + pre + '/' + name + '/profile_s.gif';
        img.alt = name;
        img.setAttribute('class', 'profile-icon');
        img.setAttribute('width','16px');
        img.setAttribute('height','16px');
        with (img.style) {
            margin = '0 3px';
            border = 'none';
            verticalAlign = 'middle';
        }
        return img;
    }
}, {
    profileIcon: function() {
        return Hatena.User.getProfileIcon(this.name);
    }
});

/* Hatena.Star */
if (typeof(Hatena.Star) == 'undefined') {
    Hatena.Star = {};
}

/*
// Hatena.Star.* classes //
**/
if (window.location && window.location.host.match(/hatena\.com/)) {
    Hatena.Star.BaseURL = 'http://s.hatena.com/';
} else {
    Hatena.Star.BaseURL = 'http://s.hatena.ne.jp/';
}
Hatena.Star.Token = null;

/* Hatena.Star.User */
Hatena.Star.User = new Ten.Class({
    base: [Hatena.User],
    initialize: function(name) {
        if (Hatena.Star.User._cache[name]) {
            return Hatena.Star.User._cache[name];
        } else {
            this.name = name;
            Hatena.Star.User._cache[name] = this;
            return this;
        }
    },
    _cache: {}
},{
    userPage: function() {
        return Hatena.Star.BaseURL + this.name + '/';
    }
});

/* Hatena.Star.Entry */
Hatena.Star.Entry = new Ten.Class({
    initialize: function(e) {
        this.entry = e;
        this.uri = e.uri;
        this.title = e.title;
        this.star_container = e.star_container;
        this.comment_container = e.comment_container;
        this.stars = [];
        this.comments = [];
    },
    maxStarCount: 11
},{
    flushStars: function() {
        this.stars = [];
        this.star_container.innerHTML = '';
    },
    bindStarEntry: function(se) {
        this.starEntry = se;
        for (var i = 0; i < se.stars.length; i++) {
            if (typeof(se.stars[i]) == 'number') {
                this.stars.push(new Hatena.Star.InnerCount(se.stars[i],this));
            } else {
                this.stars.push(new Hatena.Star.Star(se.stars[i]));
            }
        }
        if (se.comments && !this.comments.length) {
            for (var i = 0; i < se.comments.length; i++) {
                this.comments.push(new Hatena.Star.Comment(se.comments[i]));
            }
        }
        this.can_comment = se.can_comment;
    },
    setCanComment: function(v) {
        this.can_comment = v;
    },
    showButtons: function() {
        this.addAddButton();
        this.addCommentButton();
    },
    addAddButton: function() {
        if (this.star_container) {
            this.addButton = new Hatena.Star.AddButton(this);
            this.star_container.appendChild(this.addButton);
        }
    },
    addCommentButton: function() {
        if (this.comment_container) {
            this.commentButton = new Hatena.Star.CommentButton(this);
            this.comment_container.appendChild(this.commentButton.img);
        }
    },
    showStars: function() {
        var klass = this.constructor;
        // if (this.stars.length > klass.maxStarCount) {
        //     var ic = new Hatena.Star.InnerCount(this.stars.slice(1,this.stars.length));
        //     this.star_container.appendChild(this.stars[0]);
        //     this.star_container.appendChild(ic);
        //     this.star_container.appendChild(this.stars[this.stars.length - 1]);
        // } else {
        for (var i = 0; i < this.stars.length; i++) {
            this.star_container.appendChild(this.stars[i]);
        }
    },
    showCommentButton: function() {
        if (this.can_comment) {
            this.commentButton.show();
            if (this.comments.length) this.commentButton.activate();
        } else {
            // this.commentButton.hide();
        }
    },
    addStar: function(star) {
        this.stars.push(star);
        this.star_container.appendChild(star);
    },
    addComment: function(com) {
        if (!this.comments) this.comments = [];
        if (this.comments.length == 0) {
            this.commentButton.activate();
        }
        this.comments.push(com);
    },
    showCommentCount: function() {
        this.comment_container.innerHTML += this.comments.length;
    }
});

/* Hatena.Star.Button */
Hatena.Star.Button = new Ten.Class({
    createButton: function(args) {
        var img = document.createElement('img');
        img.src = args.src;
        img.alt = img.title = args.alt;
        with (img.style) {
	    cursor = 'pointer';
	    margin = '0 3px';
            padding = '0';
            border = 'none';
            verticalAlign = 'middle';
        }
        return img;
    }
});

/* Hatena.Star.AddButton */
Hatena.Star.AddButton = new Ten.Class({
    base: ['Hatena.Star.Button'],
    initialize: function(entry) {
        this.entry = entry;
        this.lastPosition = null;
        var img = Hatena.Star.Button.createButton({
            src: Hatena.Star.AddButton.ImgSrc,
            alt: 'Add Star'
        });
        this.observer = new Ten.Observer(img,'onclick',this,'addStar');
        this.img = img;
        return img;
    },
    ImgSrc: Hatena.Star.BaseURL + 'images/add.gif'
},{
    addStar: function(e) {
        this.lastPosition = e.mousePosition();
        var uri = Hatena.Star.BaseURL + 'star.add.json?uri=' + encodeURIComponent(this.entry.uri) +
            '&title=' + encodeURIComponent(this.entry.title);
        if (Hatena.Star.Token) {
            uri += '&token=' + Hatena.Star.Token;
        }
        new Ten.JSONP(uri, this, 'receiveResult');
    },
    receiveResult: function(args) {
        var name = args ? args.name : null;
        if (name) {
            this.entry.addStar(new Hatena.Star.Star({name: name}));
            //alert('Succeeded in Adding Star ' + args);
        } else if (args.errors) {
            var pos = this.lastPosition;
            pos.x -= 10;
            pos.y += 25;
            var scroll = Ten.Geometry.getScroll();
            var scr = new Hatena.Star.AlertScreen();
            var alert = args.errors[0];
            scr.showAlert(alert, pos);
        }
    }
});

/* Hatena.Star.CommentButton */
Hatena.Star.CommentButton = new Ten.Class({
    base: ['Hatena.Star.Button'],
    initialize: function(entry) {
        this.entry = entry;
        this.lastPosition = null;
        var img = Hatena.Star.Button.createButton({
            src: Hatena.Star.CommentButton.ImgSrc,
            alt: 'Comments'
        });
        img.style.display = 'none';
        this.observer = new Ten.Observer(img,'onclick',this,'showComments');
        this.img = img;
    },
    ImgSrc: Hatena.Star.BaseURL + 'images/comment.gif',
    ImgSrcActive: Hatena.Star.BaseURL + 'images/comment_active.gif'
},{
    showComments: function(e) {
        if (!this.screen) this.screen = new Hatena.Star.CommentScreen();
        this.screen.bindEntry(this.entry);
        var pos = e.mousePosition();
        pos.y += 25;
        this.screen.showComments(this.entry, pos);
    },
    hide: function() {
        this.img.style.display = 'none';
    },
    show: function() {
        this.img.style.display = 'inline';
    },
    activate: function() {
        this.show();
        this.img.src = Hatena.Star.CommentButton.ImgSrcActive;
    }
});

/* Hatena.Star.Star */
Hatena.Star.Star = new Ten.Class({
    initialize: function(args) {
        if (args.img) {
            this.img = args.img;
            this.name = this.img.getAttribute('alt');
        } else {
            this.name = args.name;
            var img = document.createElement('img');
            img.src = Hatena.Star.Star.ImgSrc;
            img.alt = this.name;
            with (img.style) {
                padding = '0';
                border = 'none';
            }
            this.img = img;
        }
	new Ten.Observer(this.img,'onmouseover',this,'showName');
	new Ten.Observer(this.img,'onmouseout',this,'hideName');
	if (this.name) {
            this.user = new Hatena.Star.User(this.name);
            this.img.style.cursor = 'pointer';
            new Ten.Observer(this.img,'onclick',this,'goToUserPage');
        }
        if (args.count && args.count > 1) {
            var c = document.createElement('span');
            c.setAttribute('class', 'hatena-star-inner-count');
            Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style);
            c.innerHTML = args.count;
            var s = document.createElement('span');
            s.appendChild(img);
            s.appendChild(c);
            return s;
        } else {
            return this.img;
        }
    },
    ImgSrc: Hatena.Star.BaseURL + 'images/star.gif'
},{
    showName: function(e) {
        if (!this.screen) this.screen = new Hatena.Star.NameScreen();
        var pos = e.mousePosition();
        pos.x += 10;
        pos.y += 25;
        this.screen.showName(this.name, pos);
    },
    hideName: function() {
        if (!this.screen) return;
        this.screen.hide();
    },
    goToUserPage: function() {
        window.location = this.user.userPage();
    }
});

/* Hatena.Star.InnerCount */
Hatena.Star.InnerCount = new Ten.Class({
    initialize: function(count, e) {
        this.count = count;
        this.entry = e;
        var c = document.createElement('span');
        c.setAttribute('class', 'hatena-star-inner-count');
        Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style);
        c.style.cursor = 'pointer';
        c.innerHTML = count;
        new Ten.Observer(c,'onclick',this,'showInnerStars');
        this.container = c;
        return c;
    },
    style: {
        color: '#f4b128',
        fontWeight: 'bold',
        fontSize: '80%',
        fontFamily: '"arial", sans-serif',
        margin: '0 2px'
    }
},{
    showInnerStars: function() {
        var url = Hatena.Star.BaseURL + 'entry.json?uri=' +
        encodeURIComponent(this.entry.uri);
        new Ten.JSONP(url, this, 'receiveStarEntry');
    },
    receiveStarEntry: function(res) {
        var se = res.entries[0];
        var e = this.entry;
        if (encodeURIComponent(se.uri) != encodeURIComponent(e.uri)) return;
        e.flushStars();
        e.bindStarEntry(se);
        e.addAddButton();
        e.showStars();
    }
});

/* Hatena.Star.Comment */
Hatena.Star.Comment = new Ten.Class({
    initialize: function(args) {
        this.name = args.name;
        this.body = args.body;
    }
},{
    asElement: function() {
        var div = document.createElement('div');
        with (div.style) {
            margin = '0px 0';
            padding = '5px 0';
            borderBottom = '1px solid #ddd';
        }
        var ico = Hatena.User.getProfileIcon(this.name);
        div.appendChild(ico);
        var span = document.createElement('span');
        with(span.style) {
            fontSize = '90%';
        }
        span.innerHTML = this.body;
        div.appendChild(span);
        return div;
    }
});

/* Hatena.Star.NameScreen */
Hatena.Star.NameScreen = new Ten.Class({
    base: [Ten.SubWindow],
    style: {
        padding: '2px',
        textAlign: 'center'
    },
    containerStyle: {
        margin: 0,
        padding: 0
    },
    handleStyle: null,
    showScreen: false,
    closeButton: null,
    draggable: false
},{
    showName: function(name, pos) {
        this.container.innerHTML = '';
        this.container.appendChild(Hatena.User.getProfileIcon(name));
        this.container.appendChild(document.createTextNode(name));
        this.show(pos);
    }
});

/* Hatena.Star.AlertScreen */
Hatena.Star.AlertScreen = new Ten.Class({
    base: [Ten.SubWindow],
    style: {
        padding: '2px',
        textAlign: 'center',
        borderRadius: '6px',
        MozBorderRadius: '6px',
        width: '240px',
        height: '120px'
    },
    handleStyle: {
        position: 'absolute',
        top: '0px',
        left: '0px',
        backgroundColor: '#f3f3f3',
        borderBottom: '1px solid #bbb',
        width: '100%',
        height: '30px',
        borderRadius: '6px 6px 0 0',
        MozBorderRadius: '6px 6px 0 0'
    }
},{
    showAlert: function(msg, pos) {
        this.container.innerHTML = msg;
        var win = Ten.Geometry.getWindowSize();
        var scr = Ten.Geometry.getScroll();
        var w = parseInt(this.constructor.style.width) + 20;
        if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w;
        this.show(pos);
    }
});

/* Hatena.Star.CommentScreen */
Hatena.Star.CommentScreen = new Ten.Class({
    base: [Ten.SubWindow],
    initialize: function() {
        var self = this.constructor.SUPER.call(this);
        if (!self.commentsContainer) self.addCommentsContainer();
        return self;
    },
    style: {
        width: '280px',
        height: '280px',
        overflowY: 'auto',
        padding: '2px',
        textAlign: 'center',
        borderRadius: '6px',
        MozBorderRadius: '6px'
    },
    handleStyle: {
        position: 'absolute',
        top: '0px',
        left: '0px',
        backgroundColor: '#f3f3f3',
        borderBottom: '1px solid #bbb',
        width: '100%',
        height: '30px',
        borderRadius: '6px 6px 0 0',
        MozBorderRadius: '6px 6px 0 0'
    },
    containerStyle: {
        margin: '32px 0 0 0',
        textAlign: 'left',
        padding: '0 10px'
    },
    getLoadImage: function() {
        var img = document.createElement('img');
        img.src = Hatena.Star.BaseURL + 'images/load.gif';
        img.setAttribute('alt', 'Loading');
        with (img.style) {
            verticalAlign = 'middle';
            margin = '0 2px';
        }
        return img;
    }
},{
    addCommentsContainer: function() {
        var div = document.createElement('div');
        with (div.style) {
            marginTop = '-3px';
        }
        this.container.appendChild(div);
        this.commentsContainer = div;
    },
    showComments: function(e, pos) {
        var comments = e.comments;
        if (!comments) comments = [];
        this.commentsContainer.innerHTML = '';
        for (var i=0; i<comments.length; i++) {
            this.commentsContainer.appendChild(comments[i].asElement());
        }
        if (e.starEntry && !e.can_comment) {
            this.hideCommentForm();
        } else {
            this.addCommentForm();
        }
        var win = Ten.Geometry.getWindowSize();
        var scr = Ten.Geometry.getScroll();
        var w = parseInt(this.constructor.style.width) + 20;
        if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w;
        this.show(pos);
    },
    bindEntry: function(e) {
        this.entry = e;
    },
    sendComment: function(e) {
        if (!e.isKey('enter')) return;
        var body = this.commentInput.value;
        if (!body) return;
        this.commentInput.disabled = 'true';
        this.showLoadImage();
        var url = Hatena.Star.BaseURL + 'comment.add.json?body=' + encodeURIComponent(body) +
            '&uri=' + encodeURIComponent(this.entry.uri) +
            '&title=' + encodeURIComponent(this.entry.title);
        new Ten.JSONP(url, this, 'receiveResult');
    },
    receiveResult: function(args) {
        if (!args.name || !args.body) return;
        this.commentInput.value = ''; 
        this.commentInput.disabled = '';
        this.hideLoadImage();
        var com = new Hatena.Star.Comment(args);
        this.entry.addComment(com);
        this.commentsContainer.appendChild(com.asElement());
    },
    showLoadImage: function() {
        if (!this.loadImage) return; 
        this.loadImage.style.display = 'inline';
    },
    hideLoadImage: function() {
        if (!this.loadImage) return; 
        this.loadImage.style.display = 'none';
    },
    hideCommentForm: function() {
        if (!this.commentForm) return;
        this.commentForm.style.display = 'none';
    },
    addCommentForm: function() {
        if (this.commentForm) {
            this.commentForm.style.display = 'block';
            return;
        }
        var form = document.createElement('div');
        this.container.appendChild(form);
        this.commentForm = form;
        with (form.style) {
            margin = '0px 0';
            padding = '5px 0';
            // borderTop = '1px solid #ddd';
        }
        //if (Hatena.Visitor) {
        //    form.appendChild(Hatena.Visitor.profileIcon());
        //} else {
        //    form.appendChild(Hatena.User.getProfileIcon());
        //}
        var input = document.createElement('input');
        input.type = 'text';
        with (input.style) {
            width = '215px';
	    border = '1px solid #bbb';
            padding = '3px';
        }
        form.appendChild(input);
        this.commentInput = input;
        var img = this.constructor.getLoadImage();
        this.loadImage = img;
        this.hideLoadImage();
        form.appendChild(img);
        new Ten.Observer(input,'onkeypress',this,'sendComment');
    }
});

/* Hatena.Star.EntryLoader */
Hatena.Star.EntryLoader = new Ten.Class({
    initialize: function() {
        var entries = Hatena.Star.EntryLoader.loadEntries();
        this.entries = [];
        for (var i = 0; i < entries.length; i++) {
            var e = new Hatena.Star.Entry(entries[i]);
            e.showButtons();
            this.entries.push(e);
        }
        this.getStarEntries();
    },
    createStarContainer: function() {
        var sc = document.createElement('span');
        sc.setAttribute('class', 'hatena-star-star-container');
        sc.style.marginLeft = '1px';
        return sc;
    },
    createCommentContainer: function() {
        var cc = document.createElement('span');
        cc.setAttribute('class', 'hatena-star-comment-container');
        cc.style.marginLeft = '1px';
        return cc;
    },
    scrapeTitle: function(node) {
        var rval = [];
        (function (node) {
            if (node.tagName == 'SPAN' &&
                (node.className == 'sanchor' ||
                 node.className == 'timestamp')) {
                     return;
            } else if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) {
                return;
            }
            var cn = node.childNodes;
            if (cn) {
                for (var i = 0; i < cn.length; i++) {
                    arguments.callee.call(this, cn[i]);
                }
            }
            var nodeValue = node.nodeValue;
            if (typeof(nodeValue) == 'string') {
                rval.push(nodeValue);
            }
        })(node);
        return rval.join('');
    },
    headerTagAndClassName: ['h3',null],
    getHeaders: function() {
        var t = Hatena.Star.EntryLoader.headerTagAndClassName;
        return Ten.DOM.getElementsByTagAndClassName(t[0],t[1],document);
    },
    loadEntries: function() {
        var entries = [];
        //var headers = document.getElementsByTagName('h3');
        var c = Hatena.Star.EntryLoader;
        var headers = c.getHeaders();
        for (var i = 0; i < headers.length; i++) {
            var header = headers[i];
            var a = header.getElementsByTagName('a')[0];
            if (!a) continue;
            var uri = a.href;
            var title = '';
            // Ten.DOM.removeEmptyTextNodes(header);
            var cns = header.childNodes;
            title = c.scrapeTitle(header);
            var cc = c.createCommentContainer();
            header.appendChild(cc);
            var sc = c.createStarContainer();
            header.appendChild(sc);
            entries.push({
                uri: uri,
                title: title,
                star_container: sc,
                comment_container: cc
            });
        }
        return entries;
    }
},{
    getStarEntries: function() {
        var url = Hatena.Star.BaseURL + 'entries.json?';
        for (var i = 0; i < this.entries.length; i++) {
            if (url.length > Ten.JSONP.MaxBytes) {
                new Ten.JSONP(url, this, 'receiveStarEntries');
                url = Hatena.Star.BaseURL + 'entries.json?';
            }
            url += 'uri=' + encodeURIComponent(this.entries[i].uri) + '&';
        }
        new Ten.JSONP(url, this, 'receiveStarEntries');
    },
    receiveStarEntries: function(res) {
        var entries = res.entries;
        if (!entries) entries = [];
        for (var i = 0; i < this.entries.length; i++) {
            var e = this.entries[i];
            for (var j = 0; j < entries.length; j++) {
                var se = entries[j];
                if (!se.uri) continue;
                if (encodeURIComponent(se.uri) == encodeURIComponent(e.uri)) {
                    e.bindStarEntry(se);
                    entries.splice(j,1);
                    break;
                }
            }
            if (typeof(e.can_comment) == 'undefined') {
                e.setCanComment(res.can_comment);
            }
            e.showStars();
            e.showCommentButton();
        }
    }
});

/* Hatena.Star.WindowObserver */
Hatena.Star.WindowObserver = new Ten.Class({
    initialize: funct


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