ラベル はてな の投稿を表示しています。 すべての投稿を表示
ラベル はてな の投稿を表示しています。 すべての投稿を表示

2008年11月26日水曜日

はてブしている人がよく付けるタグを表示するグリモン

はてながリニューアルされたのを記念して?久しぶりにグリモンを書いてみた。
すんごい適当及び初心者書いているので汚いし、不効率だし、不具合あるかも。
tagにXSSとか仕込まれるとやばい?そんなことする奴いるかしらんけどw

はてブしている人がよく付けるタグを表示するグリモン
先日はてながリニューアルされてお気に入り機能が強化されました。
お気に入り機能は気に入ったブックマーカーを登録しておくことで、その人が登録したブックマークを追えるようになるんだけど、何を持ってお気に入りにするかって判断する基準が乏しいのでブコメのところにその人が付けているタグTop3を表示させてみました。
これで、ブコメチェックしつつ自分と似たようなタグを付けている人を探しやすくなるのでお気に入りに入れる判断の手助けになるかなっと思います。

以下ソース - (bloggerの機能で一部欠ける・・・需要合ったらjs上げるのでコメントください)

// ==UserScript==
// @name favoritetags
// @namespace jp.mamono.favoritetags
// @include http://b.hatena.ne.jp/entry/*
// ==/UserScript==
(function (){
var cloudStr = 'tag-cloud-size-';
var baseCloudsize = 9;
var overCloudsize = 11;
var maxTag = 3;

function Tag(tagElement) {
this.tag = tagElement;
this.getName = function() {
return this.tag.getElementsByTagName('a')[0].textContent;
}
this.getSize = function() {
return parseInt(this.tag.getElementsByTagName('span')[0].textContent.match(/\d+/));
}
this.getText = function() {
return this.getName() + this.tag.getElementsByTagName('span')[0].textContent;
}
}

function d() {
alert('test');
}

function addFavoriteTags(usertag) {
function onload(response) {
var result = new Array();
if (response.responseText != null) {
var tags = findTags(response.responseText).getElementsByTagName('li');
for (var i = 0; i < tags.length; i++) {
result.push(new Tag(tags[i]));
}
}
if (result.length == 0) return;
result.sort(function(o1, o2) { return o2.getSize() - o1.getSize(); });
var addTag = document.createElement('span');
addTag.setAttribute('style', 'font-size:80%');
for (var i = 0; i < result.length; i++) {
if (i >= maxTag) break;
addTag.textContent = addTag.textContent + result[i].getText();
}
usertag.parentNode.insertBefore(addTag, usertag.nextSibling);
}
GM_xmlhttpRequest({ method: "GET", url: 'http://b.hatena.ne.jp/' + usertag.text + '/', onload: onload });
}

function findTags(html) {
var result = new Array();
var sep = '\n';
var t = html.split(sep);
var addflag = false;
for (var i = 0; i < t.length; i++) {
if (t[i].match(/
    /i)) {
    addflag = true;
    }
    if (addflag && t[i].match(/<\/ul>/i)) {
    addflag = false;
    result.push(t[i]);
    }
    if (addflag) {
    result.push(t[i]);
    }
    }
    return (new DOMParser()).parseFromString('' +
    result.join(sep) + '', "application/xml");
    }

    var aTags = document.getElementsByTagName('a');
    for (var i = 0; i < aTags.length; i++) {
    if (aTags[i].getAttribute('class') == 'username') {
    addFavoriteTags(aTags[i]);
    }
    }
    })();


・苦労した点
はてブのページがそのままではDOMParserに通らなかったので自前でパースしたところ。
終了タグが付いてないのがいくつかあるっぽい・・・。
そういう場合どうすればいいんだろ?

・TODO
Top3タグにクリックするとタグページに飛ぶリンクを付加
お気に入り追加ボタンの挿入←できるのかわかんない

2008年8月26日火曜日

ダメ男の症候群

こんなやつどっかにいたなwwwww・・・orz
自戒のために引用。



彼は食事の間中、俺はこれまでの人生でこんなダメなことがあって、人と上手く付き合えなくって、オタクで収入も少ない的なことを延々と私に話し出したのである。何なのだこれは。私は彼から「こんな俺どうですか?」とプレゼンテーションを受けている立場ではなかったのだろうか。何故、営業マンから欠陥点ばかりを聞かされなければならないのだろうか。



ダメな俺を丸ごと受け止めてくれ症候群 から引用


ごもっともーです。
自分のすべてを受け止めてくれる人なんてーいるわきゃーないんだ。
そんなのはお母さんにでもしてもらいなさいってこったーね。
嘘でもいいから(いや、ほんとはダメだが)自分を背伸びしてでもいいとこアピールせなあかんのよね。
自分はそういうのができない。いっつも自信が無くってうじうじしてる。
しまいにゃそれを受け止めてくれだー?ほんと馬鹿ですな。
自信が無いのは努力をしてないからだっつーのはわかってる。
わかってるくせにやんない。でも、どげんかせんといかんのだ!

関連
Ahead one step: プライドを捨てよ

さらに関連
「ダメな俺を丸ごと受け止めてくれ症候群」のメカニズム - シロクマの屑籠(汎適所属)
本当に「ダメな俺を丸ごと受け止めてくれ症候群」なのか? - Skepticism is beautiful

2008年6月6日金曜日

GoogleReaderにはてブ数を表示するグリモンが止まってしまう問題の応急処置

はてな民でGoogleReager愛用者には無くてはならないグリモンといえばid:nozomさんが公開されているGoogleReaderにはてブ数を表示するグリモンです。



id:kei-sさんのGoogle Readerでfaviconを表示させるGreasemonkeyスクリプト公開に触発されて、Google Readerにはてなブックマーク件数とブックマークアイコンを表示するGreasemonkeyスクリプトをバージョンアップした。



grb+-20061113.user.js



grb+-20061113.user.js - ヒビノキロク から引用

はてブ数とコメントが気になってしょうがない僕にはめちゃくちゃ便利でこれ無しではもうRSSのチェックはやってられないんですが、たまにダイアログが出て動作が止まってはてブ数が反映されなくなってしまって困ってました。
で、あまり深くは追ってないですが、対処法を書いておきます。

スクリプトをエディターで開いて106行目

if (response.responseText.match(/<fault>/)) {
// この中をコメントアウト
// clearInterval(timerID);
//alert("xmlrpc call failed: " + response.responseText + "\n" + "request: " + requestbody);
} else {

callXmlrpc()関数内のif文の処理をコメントアウトするだけです。
elseブロックはそのままにしておきます。
どうも、はてなAPIに問い合わせの返答に<fault>タグが混じっていた場合に更新を止めて、alert()で知らせているようなんですが、更新を止めてるのでここに来た以降はてブ数が表示されなくなります。
僕はそんなにJavaScriptに詳しくなくて何故こうなってるのかはわからないので、この修正で別の問題が起きる可能性がありますが、今のところはてブ数を加える処理が止まるということは無くなりました。
とりあえずこれで直るっぽいですが何が起きるかわからないので自己責任でお願いします><

追記 - 20080905
Ahead one step: grb+のちょっとした部分の修正

2008年5月27日火曜日

はてな村での井戸端会議

blogやニュースサイトにコメント欄があるにもかかわらず、直接コメントせずにソーシャルブックマーク(お気に入りをweb上に保存できるサービス)でブックマークしてコメントする行為を少し考える。

ブックマークとコメント


僕ははてなブックマークを使ってるのだけど、はてなブックマークではホットエントリと呼ばれる、最近注目されている(よくブックマークされている)URLを見ることができて、ブックマークにコメントが沢山付いているのもすぐに確認できる。
以前にも言及したけど、ブックマークを共有すること自体よりコメントをチェックするほうが最近は楽しみになっていて、自分でもコメントを付けることがしばしばある。
だけど、ブックマークがblogのエントリーなどの場合、その元エントリーのコメント欄が閑散としているにもかかわらず、ブックマークコメントは沢山付いていたりする。
この状況は何を現してるのか・・・?
考えられるのはidの存在だ。

個として認識させるid


はてなブックマークを利用するには登録が必要で、その際にidが付与される。このidがあるおかげで個というものが認識されるのだ。blogのコメント欄にも名前欄はあるが、そこには固有の名前を書くとは限らず、あるblogではAと名乗っていてあるblogではBと名乗っているかもしれない。結局名前を書いたとしても名無しと変わり無い。しかし、個を認識するidがあることでネット上に自分が存在しているという事が強く認識され、"コメントする=自分の意見を述べる"事がより意味のあるものとなり活発になるのではないかと思われる。
要するに、blogにコメントせずブックマークにコメントするという行為は、そのエントリー及びサイトに対して意見すると同時に、個として存在をアピールしているのだ。

まとめ


日本では2ちゃんねるを中心としてネットに匿名で参加するのが当たり前となっていて、有名人を除いて(有名人でも本名を隠している場合もあるけど)実名が出ることは悪と思われる節がある。一方でidというネット上で個を認識させるツールを用いて、自分の存在をアピールする行為は、実名が浸透しつつある兆候として捉える事ができ、実名文化が築かれつつあるのではないかという気がした。

まぁ、なんか堅苦しくなったけど、はてな村での井戸端会議は結構楽しいって事です。
ネガコメ問題とかいろいろあるけど、スターを付けて貰うためにがんばるです><

id:mamotena

2008年4月18日金曜日

これだからはてなブックマークはおもしろい

はてなブックマークは日本最大級のソーシャルブックマークサービスだ。
僕がこのサービスを利用し始めたの半年前ですごく後発なんだけど、今ではなんでもっと早く利用しなかったんだって後悔するくらいどっぷりハマっている。
当初ソーシャルブックマークとはただ単に、ブックマークをネットワーク上に保存して他の環境でも使えるようにするための物だと思っていた。もちろん本質的にはそういうサービスなんだけど、はてなブックマークではそのブックマークにコメントを付ける事ができる。
自分の感想を付けたりメモを残したりできるので、他の人がそのブックマークをつけたサイトにどういう感想を持ったのかっというのを見ることができるのだ。ブログの記事をブックマークすればその記事への感想といった感じで書くこともできる。
100文字という制限もちょうど良い。みんな自分の感想で一番強く思った点を簡潔に書くからだ。簡潔に書くということは、それだけ理解しやすく心に響く文章になる。
今日はそのブックマークコメントを読んでてゾクっと感じたので紹介してみる。

自分の感想を持つだけじゃなく他人の感想と比較する


まずはブックマークした元記事の引用。



マザーテレサは、もちろんすごい人であることには間違いないのだろうけれど、 あの人は同時に、「もっとすごいことが出来たのにやらなかった」人なんだと思う。



「能力ある人の不作為」という罪悪 - レジデント初期研修用資料 から引用

このエントリーの要点は能力のある人はもっとがんばればすごい事ができるのに何故しないんだ?という点だと思う。
マザーテレサを例にしていて、彼女がもっと商売っ気のある人だったらもっと多くの人が救われたんじゃないか?っと論じている。
これを読んで僕は確かにそうだ、本当に難民を救おうと思うならば目の前の事だけじゃなくもっと大きな視点で物事を運ぶべきじゃないのか?それをしないマザーテレサは実は聖女でもなんでもなく、ただの自分勝手な人間なんじゃないか!?っと感想を持った。
しかし、ブックマークコメントのid:yukky2001のコメントを見てゾクッ感じた。



論旨に矛盾がないか。難民キャンプにいたからこそ高い評価があったのであって、集金活動をしていたらそこまでの評価は無かったはずだ。また彼女の価値観で後者ができたとも思えない。人にはふさわしい役目がある。



はてなブックマーク - 「能力ある人の不作為」という罪悪 - レジデント初期研修用資料 から引用

まさにそのとおりで、マザーテレサがそこまで支持されている理由は、目の前の人々を助けたからなのだろう。彼女がある意味で自分勝手だったからこそだ。もし、多くの人を助けるために商売っ気のあることをやったなら、ここまで担ぎ上げられるような事にはなっていなかっただろう。
じゃ~どうすればいいかっという点は論点がずれるので割合するが、自分の単純な視点でしか見れない愚かさに気づかせてくれるはてなブックマークのコメント機能は僕にとって無くてはならない存在となっている。

youtubeで完成されたと思われた動画投稿サービスに、ニコニコ動画というコメント投稿機能を持ったサイトの登場でイノベーションが起きたように、まだまだネットをおもしろくするサービスは登場すると思う。
これからもはてなブックマークのコメントの様に僕をゾクっとさせるサービスに出会えるといいなぁ。