はてなキーワード: TAGとは
はてなで
http://d.hatena.ne.jp/miyakichi/20080812/1218508901
とか
http://d.hatena.ne.jp/michikaifu/20080813/1218612137
みたいな話があったんで、この話の趣旨とまーったく関係無いのだが、ちょっとある友人Kのことを思い出した。
思い出したっつってもそんな古い友人ってわけではなく、ある程度親しい仲だけど最近会ってないな、程度で。たまにはメッセで話しかけてみた。
それでちょっと面白かったから許可もらって増田に載せてみる。
もうタイトルにも書いてるけど、そいつは男でゲイ。俺はストレートというかノンケ男。中学からの友人で(つか中学の後半で知り合って、友達だったのは基本高校以降)大学が別々になったけど結構近かったから遊んでた仲。
カミングアウトは大学2年目。実は薄々それっぽいこと言ってたから俺としては急なことじゃなかったんだけど、
「俺、実は彼氏がいて・・・」
っていう切り出し方にはさすがにびびった。そこまでは予想外だった。
後々Kの話によると、俺にカミングアウトしたいものの(相談をしたかった)、俺に気があるんじゃないかと思われるのが嫌だったらしく、そういう切り出し方だったらしい。
もう少し補足すると、Kはフツメン以上で、多分彼女できる顔立ちだけど、飲み会とかで比較的無口なタイプで、これが不細工だったら「根暗」なんだろうけど、フツメン以上だから「聞き上手」。仲のいい相手ならよく話す。身長と体重は詳しく書くなって言われたから、中肉中背より少し痩せてて、バスケやってた(かなりサボってたけど)。彼氏の人は1度だけ会った事あるが、多分年上で背もKより少し高い。妙にニコニコしてたのだけ印象強かった。あとゲイに見えない。(つか俺には見分けられないけど)
で、以下メッセの内容。編集でかなり会話を整形しているのと、古い付き合いなのでメッセのやり取りが2ちゃんっぽいのは目を瞑って頂きたい。
俺「こんちはー。」(15分くらい間がある)
K「おー、こんばんは」
俺「こんばんはw」
K「どうした?」
俺「(上記URLとか貼って)ウリ専って幾らくらいが相場なん?」
K「あーそれ見た」
K「しらねーw」
俺「しらんかー。」
K「俺行ったこともねーし、お前はソープ嬢の相場わかるか?w」
俺「あー。わからん。」
俺「なるほど。」
俺「それWikiだろw」
俺「同じページ見てるw」
K「ばれた」
K「しかもこれ料金だった、手取りはもっと低いってことだなー」
俺「はてブで金に困ったら覚えておこうって書き込みあったけど、半分だとしても結構もらえるかもな。」
K「うーん、時給6千円ならいい仕事だろうけど」
俺「臓器売るよりかいいだろうな」
K「どっかに書いてあったけど、多分言うのとやるのじゃ違う」
俺「そうだな。」
K「あと高額なヤツは、希少価値の高い体してないとダメじゃね?」
俺「マッチョとか?」
K「www」
K「10代は少ないだろ、イケメンも多分少ないし。オヤジはいっぱいいるから希少価値低くね?」
K「ゲイの好みは様々って言うけど、やっぱ希少価値高いほうが金にはなるんじゃね、って思う」
俺「そんなもんか。」
K「どうなんだろうな。」
俺「K的には?」
K「ダメだな」
俺「それは何度も聞いたw微妙ww」
ぶっちゃけ男にタイプだって言われても微妙だし、かといってタイプじゃないって言われてもなんか微妙。俺のスペックは聞くな。
ここら辺から何故かポニョの話と平行して進んだのでポニョの部分はカット。
K「急に金に困った場合は、ウリ専じゃなくてゲイビデオのほうがいいのかもな。1回30万以上とかあるらしいぞ」
俺「俺の給料涙目ww」
俺「でも顔出るんじゃん困る」
K「顔隠してるのもあるぞ」
俺「見たことあるんだww。」
俺「マッチョ?」
K「お前がエロゲやってる程度には俺も見る」
俺「サーセンw」
K「マッチョは好きじゃないし」
俺「最近ニコニコのアレでそのイメージしかねぇwジャニーズみたいなやつ?」
K「あれはなぁー」
俺「ノンケとか出るの?」
K「ノンケだけで特集してるのあるし、そういうのは顔隠してるのある」
K「多分顔隠すと貰える額下がるっぽかったけど」
俺「ちょwww衝撃発言がすぎるww」
K「だからー、お前とかは範囲外っていうか、身の回りは範囲外」
K「AV女優と付き合いたいかは別だろ?」
俺「俺AV見ないし。」
K「お前はお前で変態」
俺「サーセンw」
俺「ノンケだと何がいいんだ」
俺「おk。すげー理解ww」
K「戸惑ってる様子とか最初の快感とか特別だろ」
俺「やばい、なんか面白いw」
俺「異文化コミュニケーション。」
俺「あのシリーズはいいw」
K「なんか笑うに笑えない」
K「ジーンズ破れるところで吹いたけど」
K「うーん、俺はダメだな」
K「http://www.amazon.co.jp/gp/product/B000JGCNFK/ref=nosim?ie=UTF8&redirect=true&tag=templeknigh06-22」
K「これ系統の位置づけじゃね?」
K「沢山あるんだろうけど、なんか間違ってるっていう。」
俺「これはwww」
K「ハルヒのコスプレAVとか、ローゼンパロの変なAVが取り上げられて、」
K「「男ってこういうの見て興奮するんだ、変なの」」
K「とか言われる気分だな」
俺「なるほどwww」
(ここら辺で俺のテンションが上がってきて、面白いから増田に投稿してもいいかという話になる。
一部カットの上でOKが出る。)
俺「じゃああと、金欠を憂うはてなユーザーのために、ノンケのゲイビデオの内容を詳しく。」
K「俺もそんな多く見てないし。」
K「責任取れないけど。」
K「一番多いのは、街でスカウトしてオナニーしてくれたら出演料出しますっての」
K「いやオナニーは街じゃないけど、車の中とか、建物の中とか」
俺「なんかそのまま拉致されたらとか考えるな。」
K「つか、スカウト部分は仕込みなんじゃないかと思うけどな」
俺「あー。」
俺「オナニーで何十万も貰えたら楽だな。オナニーだけじゃダメか?」
俺「微妙な金額だな。」
K「絡むと数十万ってのもあるみたいだな」
俺「いきなり筋肉だらけのページ開いたら嫌だしww」
K「俺も嫌だよ。」
K「絡みもあったね、スタッフに掘られるってやつ。大体ビデオの最後に。」
俺「うはww」
俺「痛いんかな?」
K「絶対痛いね。痛がらなかったらノンケっぽさが出ないんじゃないか?」
K「俺は痛がってるの見るの嫌なんだけどな」
K「あとノンケ同士ってのもあった、知り合い同士みたいだったけど、あれは両方に給料入るのかな」
俺「考えようによってはゲイにやられるよりそっちのほうがいいかも。」
K「俺としてはそっちのほうが萌えるなぁ」
俺「ちょww」
俺「でも知り合いだったらその後が気まずすぎるw」
K「だろうなー」
つーわけで、かなり踏み込んで出来てテンション高い会話をした。
今までなんとなくそこまで話さなかったし(面と向かって聞くのもなんだったし)夜中でメッセってのも変なテンションになった。
他にも色々あったんだが、まとめると
・ウリ専はコミュニケーション能力が必要らしい
・ただし、ゲイビデオはノンケが1度出演して何度も出るってことは少ないらしい
・どんなタイプでも拾うゲイはいるが、人気のタイプってのはあるし、それは女にモテるタイプとほぼ一致するらしい。
あと、あくまでKはウリ専とか詳しいわけじゃないから、確証は無いらしいので。
動作未確認。すんげー冗談半分。
// Hatena Monge Star user script // 2008-07-07 // by masda. (http://anond.hatelabo.jp/20080707043247) // ==UserScript== // @name Hatena Monge Star // @namespace http://anond.hatelabo.jp/20080707043247 // @description Hatena Monge Star // @include http://b.hatena.ne.jp/entry/* // @version 0.3.1 // ==/UserScript== // deriving from [http://d.hatena.ne.jp/Hamachiya2/20080707/HatenaBlackStar2] ver Firefox // [http://f.hatena.ne.jp/hatenacinnamon/20070109001332] // Thx! and CUTE! location.href = 'javascript:(' + function() { (function (w) { if (typeof(w.Ten) == 'undefined') { return; } HatenaBookmarkMongeStar = new Ten.Class({ initialize: function(li, entryTitle) { var comment = ''; var tags = ''; var commentSpans = Ten.DOM.getElementsByTagAndClassName('span', 'comment', li); if (commentSpans.length > 0) { comment = Ten.DOM.scrapeText(commentSpans[0]); } var tagsSpans = Ten.DOM.getElementsByTagAndClassName('span', 'user-tag', li); if (tagsSpans.length > 0) { $A(tagsSpans[0].getElementsByTagName('a')).each(function(a) { tags += '[' + Ten.DOM.scrapeText(a)+ ']'; }); } var title = tags + comment; if (title.length == 0) { var name = Ten.DOM.scrapeText(li.getElementsByTagName('a')[1]); title = name + 'のブックマーク'; } // this.uri = 'http://b.hatena.ne.jp/keyword/' + li.getElementsByTagName('a')[1].href; var u = li.getElementsByTagName('a')[1].href; if (u.indexOf('#') == -1) { this.uri = u + '#_HatenaMongeStar'; } else { this.uri = u + '_HatenaMongeStar'; } this.title = title + ' - ' + entryTitle; this.comment_container = Hatena.Star.EntryLoader.createCommentContainer(); var target = commentSpans[0] || li; target.appendChild(this.comment_container); this.star_container = Hatena.Star.EntryLoader.createStarContainer(); this.star_container.className = 'hatena-star-star-container MongeStarContainer'; target.appendChild(this.star_container); } }); var tryCount = 0; var tryMax = 300; function waitForHatenaStar() { // if (Hatena.Star.EntryLoader.loaded) { // Hatena.Star.EntryLoader.loaded = false; var s = document.getElementsByClassName('hatena-star-add-button'); if (s.length) { Hatena.Star.EntryLoader.loaded = false; Hatena.Star.EntryLoader.loadEntries = function() { var entries = []; var title = Ten.DOM.scrapeText(Ten.DOM.getElementsByTagAndClassName('span', 'title', document.body)[0]); var ul = document.getElementById('bookmarked_user'); if (ul) { $A(ul.getElementsByTagName('li')).each(function(li) { if (li.className != 'more') { entries.push(new HatenaBookmarkMongeStar(li, title)); } }); } return entries; } new Hatena.Star.EntryLoader(); } else { if (++tryCount > tryMax) { setTimeout(waitForHatenaStar, 400); } } } setTimeout(waitForHatenaStar, 500); })(window); }.toString() + ')()'; GM_addStyle(<><![CDATA[ .MongeStarContainer { margin-left: 4px; } .MongeStarContainer .hatena-star-add-button { background-color: #fc6 ! important; } .MongeStarContainer a { text-decoration: none ! important; color: #f80 ! important; font-size: 10px; position: relative; } .MongeStarContainer a:before { content: '毛'; font-size:small; } .MongeStarContainer a .hatena-star-star { filter: alpha(opacity=00); -moz-opacity:0.00; opacity:0.00; position: absolute; top: 0; left: 0; } .MongeStarContainer .hatena-star-inner-count { color: #f90 ! important; } ]]></>);
動いたらいいな-
http://anond.hatelabo.jp/20080627160151
さっき試しに商品リンクから飛んでURLにそれっぽいパラメーター(tag=****みたいなの)がついてるのを確認したんだけど、そのページ内の別の商品のリンクとか、上の検索窓から検索して出てきたページにあるリンクとかにはそのパラメーターがついてなかったから、タグつきの商品一覧ページからの購入はOKだけどリンクを推移してからの商品選択は駄目なのかと心配になったので。
自分でアフィリエイトタグつきのURLを作ってそこにアクセスしなきゃいけないのかなーとか。
cookieとかで追ってるのかな。
ぐぐったりamazonアフィリエイトの利用規約とか見ても、特別リンクを経由した購入としか書いてなくてよく条件が分からなかったので、もしよければどういう検索ワードでぐぐったらいいか教えていただけると幸いです。
http://anond.hatelabo.jp/20080627160130
ありがとうございます。直接リンクじゃないと紹介料率が変わるんですか。
ぐぐってみたら、こんな記事があったんですが、知人が「パフォーマンスプラン」というのにしていなければ下がるってことなんですかね。
それGreasemonkeyで、ということで
インストールはこちらから
http://userscripts.org/scripts/show/37782
初めて Greasemonkey を作って自信が無いので増田で投稿。切り換えボタンがあった方が便利だと思うが、まぁいいや。
やっぱり切り換えボタンがあった方がいいかな、と思ったので追加した。
Reverse Bookmark Comment [sort]変更した、詳細は下記で
の [sort] をクリックで昇順・降順の切り換え。
ブックマークが無い場合の処理と、ソートを行うかの設定を追加した。始めに並べ替えたくない場合は
ReverseHatenaBookmarkComment を false に(上で追加した [sort] [▽] で昇順・降順の切り換えは可能。)
実際使ってみると、通常の並びの方が見やすく感じたので。でも慣れのせいかも。だからそこら辺の設定があった方がいいんじゃね?という。
ブックマーク数が多い場合の詳細ページっていうのかな?要は
こういうページにも対応した。
関連エントリー機能が追加されて、ページ構造が変化したので修正。でもこの関連エントリーの位置はまた変わるかもしれないけれども。
関連エントリーの位置が変更されたので、修正。対応が遅れてスミマセン。
コメント一覧非表示機能が追加されたので、それに応じて修正。
リニューアルに対応、また分かりやすいようにソートされてる場合[▲]通常の並びでは[▽]と変更しました。
cf.はてなダイアリーの過去ログを日附昇順に竝べ替へるユーザスクリプト - MORIYAMA Hiroshi's Diary
cf. はてブからネットイナゴを駆除(?)する「Hatebu Tag Killer」 (ひぐまのひまグ)
ちなみに後者の方は、コメントの内容を正規表現でブックマークコメントが削除できるGreasemonkeyが便利。
こっちはスター順に並べる
こっちのほうが処理が軽くていいや
matching expression
(<font*>)$SET(0=)|
(<i[^m]++>)$SET(0=)|
(<strike*>)$SET(0=)
Replacement Text
http://anond.hatelabo.jp/20080302214727
「ネタ」がうまくいかない件は、"\u30cd\u30bf"にしたらうまく行った
とりあえず、Sleipnir2のSeahorseで確認。
// ==UserScript== // @name hatebufilter // @namespace hatebufilter // @description Hatena bookmark filter // @include http://b.hatena.ne.jp/hotentry* // @include http://b.hatena.ne.jp/entrylist* // ==/UserScript== /* 問題点 いまのところなし ・問題が起こりそうなURL http://b.hatena.ne.jp/hotentry?mode=daily&date=20080224 http://b.hatena.ne.jp/hotentry?mode=daily&date=20080218 **/ (function(){ // Hatebu Tag var HatebuTagParentNum = 3; var filters = [ // moconico douga {"tag": "div", "name": "entry", "pattern": "nicovideo\.jp"}, /* // tag of "2ch" {"tag": "a", "name": "tag", "pattern": "2ch", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "\\*2ch", "parentNum": HatebuTagParentNum}, **/ // 2ch blogs // livedoor {"tag": "div", "name": "entry", "pattern": /http:\/\/blog\.livedoor\.jp\/(insidears|dqnplus)\//}, {"tag": "div", "name": "entry", "pattern": /http:\/\/(guideline|alfalfa|news4vip)\.livedoor\.biz\//}, // fc2 {"tag": "div", "name": "entry", "pattern": /http:\/\/(imihu|urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//}, {"tag": "div", "name": "entry", "pattern": /http:\/\/www\.kajisoku\.org\//}, // hatena anonymouse diary {"tag": "div", "name": "entry", "pattern": /http:\/\/anond\.hatelabo\.jp\//}, // tag of "neta" {"tag": "a", "name": "tag", "pattern": "\u30cd\u30bf", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "\\*\u30cd\u30bf", "parentNum": HatebuTagParentNum}, ]; for (var i = 0; i < filters.length; i++) { var f = filters[i]; filtering(f.tag, f.name, f.pattern, f.parentNum== undefined ? 1 : f.parentNum); } function filtering(tag, name, pattern, parentNodeNum){ var entrylist = document.getElementsByTagName(tag); //print("pattern = " + pattern); for(var idx = entrylist.length - 1; 0 <= idx; idx--){ // for(var idx = 0; idx < entrylist.length - 1; idx++){ if (entrylist[idx].className == name){ if (entrylist[idx].innerHTML.match(pattern)) { var node = entrylist[idx]; var oldNode = null; for (var j = 0; j < parentNodeNum; j++) { oldNode = node; node = node.parentNode; } // print("class = " + oldNode.getAttribute("class")); // print("id = " + oldNode.getAttribute("id")); node.removeChild(oldNode); } } } } })();
firefoxでしか確認していないけれど、URL、正規表現、XPathで指定できる様にしてみたよ。
// ==UserScript== // @name filter for Hatena::Bookmark // @namespace http://anond.hatelabo.jp/ // @include http://b.hatena.ne.jp/hotentry* // @include http://b.hatena.ne.jp/entrylist* // origin http://anond.hatelabo.jp/20080302214727 // ==/UserScript== (function(){ var itemxpath = "//div[@class='entry']"; function xpathgenURL(url) {return "//div[@class='entry' and descendant::a[starts-with(@href,'"+url+"')]]"} var filters = [ // start with '//' then xpath // moconico douga // {"tag": "div", "name": "entry", "pattern": "nicovideo\.jp"}, "//div[@class='entry' and descendant::a[contains(@href,'nicovideo.jp')]]", /* // tag of "2ch" {"tag": "a", "name": "tag", "pattern": "2ch", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "\\*2ch", "parentNum": HatebuTagParentNum}, ***/ // start with 'http' then url // 2ch blogs // livedoor // {"tag": "div", "name": "entry", // "pattern": /http:\/\/blog\.livedoor\.jp\/(insidears|dqnplus)\//}, "http://blog.livedoor.jp/insidears/", "http://blog.livedoor.jp/dqnplus/", // {"tag": "div", "name": "entry", // "pattern": /http:\/\/(guideline|alfalfa|news4vip)\.livedoor\.biz\//}, "http://guideline.livedoor.biz/", "http://alfalfa.livedoor.biz/", "http://news4vip.livedoor.biz/", // typeof /regexp/ is function (@firefox) then regexp pattern // fc2 // {"tag": "div", "name": "entry", // "pattern": /http:\/\/(urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//}, /http:\/\/(urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//, // tag of "neta" // {"tag": "a", "name": "tag", "pattern": "ネタ", "parentNum": HatebuTagParentNum}, "//div[@class='entry' and descendant::a[@class='tag' and string()='ネタ']]", // {"tag": "a", "name": "tag", "pattern": "*ネタ", "parentNum": HatebuTagParentNum}, "//div[@class='entry' and descendant::a[@class='tag' and string()='*ネタ']]", // hatena anonymouse diary // {"tag": "div", "name": "entry", "pattern": /http:\/\/anond\.hatelabo\.jp\//} "http://anond.hatelabo.jp/", ]; for (var i=0; i<filters.length; i++) { var filter = filters[i]; var type = typeof filter; var regexp; var xpath; if (type == "function") { xpath = itemxpath; regexp = filter; } else if (type == "string") { if (filter.match(/^http/)) { xpath = xpathgenURL(filter); } else if (filter.match(/^\/\//)) { xpath = filter; } else { next; } } var removeNodes = document.evaluate(xpath,document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (var j=0; j<removeNodes.snapshotLength; j++) { var node = removeNodes.snapshotItem(j); if (!regexp || node.innerHTML.match(regexp)) { node.parentNode.removeChild(node); } } } })();
ついでに増田版も作ってみたよ。
// ==UserScript== // @name filter for Hatelabo::AnonymousDiary // @namespace http://anond.hatelabo.jp/ // @include http://anond.hatelabo.jp/ // @include http://anond.hatelabo.jp/*?page=* // @exclude http://anond.hatelabo.jp/YourID/* // ==/UserScript== // origin http://anond.hatelabo.jp/20080302214727 (function(){ var itemxpath = "//div[@class='section']"; function xpathgenURL(url) {return "//div[@class='section' and descendant::a[starts-with(@href,'"+url+"')]]"} var filters = [ // start with '//' then xpath "//div[@class='section' and child::h3[starts-with(string(),'■はてなの嫌われ者!')]]", // start with 'http' then url "http://anond.hatelabo.jp/", // typeof /regexp/ is function (@firefox) then regexp pattern /釣り/, ]; for (var i=0; i<filters.length; i++) { var filter = filters[i]; var type = typeof filter; var regexp; var xpath; if (type == "function") { xpath = itemxpath; regexp = filter; } else if (type == "string") { if (filter.match(/^http/)) { xpath = xpathgenURL(filter); } else if (filter.match(/^\/\//)) { xpath = filter; } else { next; } } var removeNodes = document.evaluate(xpath,document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (var j=0; j<removeNodes.snapshotLength; j++) { var node = removeNodes.snapshotItem(j); if (!regexp || node.innerHTML.match(regexp)) { node.parentNode.removeChild(node); } } } })();
Pipes: Rewire the webを使うと他人のサイトが簡単にスクレイピング出来てしまう。これまでスクレイピングするのにはほんのちょっとだけ技術的心理的障壁があった。今はそれすら要らない。loopとfetchだけわかればいい。広告を消すのも全文配信させるのも簡単に出来てしまう。
自前でplagger置いて加工するのはセーフ?
じゃあfeedreaderで読んでてgreasemonkeyで引っ張リ出すのは?
じゃあpipesは?
じゃあそれを公開するのは?
UTF-8ではないフィードを変換するのにwebサービスを使った。そのサービスが広告を差し込んでくるのは?
RSSに広告が差し込んであるのはウザい。それを消したものを公開するのは?
他人のフィードのアフィリエイトIDを全部自分のものに書き換えて公開するのは?
一度公開されてる情報だから好きにしていいだろ、これって通じるの?
出来てしまう事に逆らうべきではないという思考停止。
便利だからいいじゃないかという思考停止。
考えてもよくわからないから他人に丸投げして思考停止。
やってはいけないことのような気がするから触れないという思考停止。
フィードって何なのだろう。
webサイトって何なのだろう。
お金の臭いや作為の臭いがするとうわって思うけど判断基準はそれでいいの?それだけなの?
フィードで全文配信しないサイトは絶滅すればいいと思ってる。でもそれとこれとは話が別だ。
拒否するにはhttpd.conf(.htaccess)にUA書くかmeta tagに書くかpipesチームにメールを出せってこいつは何様なんだ?Pipes - Frequently Asked Questions
webサイトの書き手は、読み手は、いったいどこまで情報をコントロールする権利があるんだ?
サーバ型のFeed Readerが過去から未来までフィードを無限に全部蓄積して、すべて全文配信してくれれば一切余計なこと考えなくて済むのに。
とりあえずこれは読んだ。
ニュースのRSSを全文配信で読む - ytsuchiyamaの日記
http://anond.hatelabo.jp/20080102122736
汎用性を上げてみた。
をはてブのhotentryから削除するgreasemonkey。
Sleipnir2のseahorseでも使える。
// ==UserScript== // @name hatebufilter // @namespace hatebufilter // @description Hatena bookmark filter // @include http://b.hatena.ne.jp/hotentry* // @include http://b.hatena.ne.jp/entrylist* // ==/UserScript== /* 問題点 いまのところなし ・問題が起こりそうなURL http://b.hatena.ne.jp/hotentry?mode=daily&date=20080224 http://b.hatena.ne.jp/hotentry?mode=daily&date=20080218 **/ (function(){ // Hatebu Tag var HatebuTagParentNum = 3; var filters = [ // moconico douga {"tag": "div", "name": "entry", "pattern": "nicovideo\.jp"}, /* // tag of "2ch" {"tag": "a", "name": "tag", "pattern": "2ch", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "\\*2ch", "parentNum": HatebuTagParentNum}, **/ // 2ch blogs // livedoor {"tag": "div", "name": "entry", "pattern": /http:\/\/blog\.livedoor\.jp\/(insidears|dqnplus)\//}, {"tag": "div", "name": "entry", "pattern": /http:\/\/(guideline|alfalfa|news4vip)\.livedoor\.biz\//}, // fc2 {"tag": "div", "name": "entry", "pattern": /http:\/\/(urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//}, // tag of "neta" {"tag": "a", "name": "tag", "pattern": "ネタ", "parentNum": HatebuTagParentNum}, {"tag": "a", "name": "tag", "pattern": "*ネタ", "parentNum": HatebuTagParentNum}, // hatena anonymouse diary {"tag": "div", "name": "entry", "pattern": /http:\/\/anond\.hatelabo\.jp\//} ]; for (var i = 0; i < filters.length; i++) { var f = filters[i]; filtering(f.tag, f.name, f.pattern, f.parentNum== undefined ? 1 : f.parentNum); } function filtering(tag, name, pattern, parentNodeNum){ var entrylist = document.getElementsByTagName(tag); //print("pattern = " + pattern); for(var idx = entrylist.length - 1; 0 <= idx; idx--){ // for(var idx = 0; idx < entrylist.length - 1; idx++){ if (entrylist[idx].className == name){ if (entrylist[idx].innerHTML.match(pattern)) { var node = entrylist[idx]; var oldNode = null; for (var j = 0; j < parentNodeNum; j++) { oldNode = node; node = node.parentNode; } // print("class = " + oldNode.getAttribute("class")); // print("id = " + oldNode.getAttribute("id")); node.removeChild(oldNode); } } } } })();
hatebufilter.user.jsなどとUTF-8で保存して使う。
しかし、増田のコード記法、日本語貼り付けたら化けるんだが・・・どうすればいいんだろ?
コメントアウトを直せば、2chコピペブログ以外の「2ch」タグ自体での削除も可能です。
インスパイヤ元 - http://anond.hatelabo.jp/20080219145538
@-moz-document domain("b.hatena.ne.jp") { ul#bookmarked_user{ font-size: 105%; } #bookmarked_user li{ list-style-type: decimal; } #bookmarked_user li:before{ content: '\FF1A'; } #bookmarked_user .timestamp:before{ content: '\756A\7D44\306E\9014\4E2D\3067\3059\304C\306F\3066\306A\3067\3059\FF1A '; font-size: 110%; font-weight: bold; color: #008000; } #bookmarked_user img.hatena-id-icon, #bookmarked_user .user-tag, #bookmarked_user .hatena-star-comment-container, #bookmarked_user .hatena-star-star-container{ display: none; } #bookmarked_user a[href*='bookmark-']:before{ content: 'ID:'; } #bookmarked_user a[href*='bookmark-']:link, #bookmarked_user a[href*='bookmark-']:hover{ color: black; text-decoration: none; } #bookmarked_user a[href*='bookmark-']:hover{ color: blue; text-decoration: underline; } #bookmarked_user span.comment{ display: block; padding: 8px 1em; margin-left: 1.5em; } }
曜日の表記と「2008年02月19日」を「2008/02/19」にしたかったが、方法が分からなかった。あ、あと投稿時間も。Greasemonkey じゃないと無理か?
転載・改変は自由なので、再利用したいとかここを変えた方がより良い、という方は好きに使って結構です。
→ はてブちゃんねる
背中に手をまわしてスキンを外すと彼女のリッチコンテンツが現れてきた。形の良いC++、思わず僕は乱暴にコーディングし始めた。「・・・いやん待って、、imeオフにして///」
少し冷静さを取り戻し、鷲掴みした彼女のマウスを円を描くように操作しクリックし続けた。「ふふ、英数カタカナ英数カタカナ・・・」彼女の瞳が潤んできた。「お願い、半角で・・・」
そこで僕は顔を近づけて彼女の二つのサイトを交互にブックマークした。非モテ、ネタ、まとめ、いろんなtagでいじってやると彼女は目を瞑って耐えている。これはひどい、をつけると「いじわる・・・」と小さくつぶやいた。部屋中にカチカチという卑猥な音だけが響いた。
空いた手で下のプルダウンメニューを開いてみると下は派手なLeopardだった。でもかわいくてClassic環境排除できなかったので、その上からdowngradeを何度も繰り返した。彼女のituneが小さく音漏れし始め、シミが広がってきた。「ふふ、こんなに濡れて。水濡れは保証対象外だぜ」ようやく僕はleopardをぶっこぬきした。
ケースを開きマザーボードのソケットをじっくりと眺める。緑と金の綺麗な形をしている。「ふぅん、普段は上品なsafe modeを気取ってるくせにあそこは意外とブルースクリーンなんだな」「いやっ、2chに晒さないでっ///」
ちょっといじわるを言ってから僕は軽く彼女のThinkpadポインタをいじってみた。「あぁっ、強く押すとすぐあっちいっちゃう!」存分に赤いポインタを楽しんでいると彼女は僕のユニバーサルデザインに手を伸ばしてきた。
「貰ってほしいの?yahooBBモデムみたいに」彼女は小さくこくりとうなづいた。偽装の上から僕のトロイの木馬を検出すると、少しはにかみながら検疫した。顔を近づけて恐る恐るrubyを書き始める。たどたどしい文法だったけど僕のperlもいじってくれる。その上目遣いでモニターを見上げる様子に僕はもう楽天ポイント10倍だった。
彼女の温かいパームレストに包みこまれ、怒張した僕のdankogaiがもう冷静に書評してられない。もうAmazonプライムだった僕は「テレホタイム突入していい?」と聞いた。
「でも私、実はkanojo(新規)なの、やさしく入札してね///」えっ、僕は戸惑いながらも
省略されました。続きをよむには(ry
テーマはユビキタスなエロの可能性。でも今、手元に拳銃があったら確実に頭を撃ち抜くと思う。いや、ほんとにさよなら。ちょっと仕事してきます。
フィルター方式にしたら良い感じかな。
petternに弾きたいものを正規表現で指定したら、同じドメインでも選別できるし。
// ==UserScript== // @name hatebufilter // @namespace hatebufilter // @include http://b.hatena.ne.jp/entrylist* // ==/UserScript== var pattern = "nicovideo\.jp"; filtering( "div", "entry", pattern ); function filtering( tag, name, pattern ){ var entrylist = document.getElementsByTagName( tag ); for( var idx = 0; idx < entrylist.length; idx++ ){ if(entrylist[idx].className == name){ if( entrylist[idx].innerHTML.match( pattern ) ){ entrylist[idx].parentNode.removeChild( entrylist[idx] ); } } } }
なのでJavaSciptの勉強がてら、メタブックマークを見えなくするユーザースクリプトを作った。DOMがよくわからないので変なところがあるかも。スコープやノードリストなんかもよくわかってないので、無駄なところもあるかも。
以下ソース。
Opera用 // ==UserScript== // @name Metabu Eraser // @include http://b.hatena.ne.jp/entrylist* // @author Hatena Anonymous User MASUDA // @version 0.0.1 // ==/UserScript== (function(){ document.onload = main; function main(){ var entryList = filterByTagAndClass("div", "entry"); checkAndErase(entryList); } function filterByTagAndClass(tag, name){ var list = document.getElementsByTagName(tag); var newList = []; for(var i = 0; i < list.length; i++){ if(list[i].className == name){ newList.push(list[i]); } } return newList; } function checkAndErase(nodeList){ for(var i=0; i < nodeList.length; i++){ var elem = nodeList[i].getElementsByTagName("a")[0]; if(elem.href.substring(0,50) == "http://b.hatena.ne.jp/entry/http://b.hatena.ne.jp/"){ nodeList[i].parentNode.removeChild(nodeList[i]); } } } })();
Firefox(Greasemonkey) // ==UserScript== // @name Metabu Eraser // @include http://b.hatena.ne.jp/entrylist* // @description version:0.0.1 // ==/UserScript== main(); function main(){ var entryList = filterByTagAndClass("div", "entry"); checkAndErase(entryList); } function filterByTagAndClass(tag, name){ var list = document.getElementsByTagName(tag); var newList = []; for(var i = 0; i < list.length; i++){ if(list[i].className == name){ newList.push(list[i]); } } return newList; } function checkAndErase(nodeList){ for(var i=0; i < nodeList.length; i++){ var elem = nodeList[i].getElementsByTagName("a")[0]; if(elem.href.substring(0,50) == "http://b.hatena.ne.jp/entry/http://b.hatena.ne.jp/"){ nodeList[i].parentNode.removeChild(nodeList[i]); } } }
なのでJavaSciptの勉強がてら、ニコニコ動画関連のブックマークを見えなくするユーザースクリプトを作った。DOMがよくわからないので変なところがあるかも。スコープやノードリストなんかもよくわかってないので、無駄なところもあるかも。
以下ソース。
// ==UserScript== // @name NicoNico Eraser // @include http://b.hatena.ne.jp/entrylist* // @author Hatena Anonymous User MASUDA // @version 0.0.1 // ==/UserScript== (function(){ document.onload = main; function main(){ var entryList = filterByTagAndClass("div", "entry"); checkAndErase(entryList); } function filterByTagAndClass(tag, name){ var list = document.getElementsByTagName(tag); var newList = []; for(var i = 0; i < list.length; i++){ if(list[i].className == name){ newList.push(list[i]); } } return newList; } function checkAndErase(nodeList){ for(var i=0; i < nodeList.length; i++){ var elem = nodeList[i].getElementsByTagName("a")[0]; if(elem.href.substring(0,30) == "http://www.nicovideo.jp/watch/"){ nodeList[i].parentNode.removeChild(nodeList[i]); } } } })();
// ==UserScript== // @name NicoNico Eraser // @include http://b.hatena.ne.jp/entrylist* // @description version:0.0.1 // ==/UserScript== main(); function main(){ var entryList = filterByTagAndClass("div", "entry"); checkAndErase(entryList); } function filterByTagAndClass(tag, name){ var list = document.getElementsByTagName(tag); var newList = []; for(var i = 0; i < list.length; i++){ if(list[i].className == name){ newList.push(list[i]); } } return newList; } function checkAndErase(nodeList){ for(var i=0; i < nodeList.length; i++){ var elem = nodeList[i].getElementsByTagName("a")[0]; if(elem.href.substring(0,30) == "http://www.nicovideo.jp/watch/"){ nodeList[i].parentNode.removeChild(nodeList[i]); } } }
まぁ、これだと初音ミクやアイドルマスター以外の動画も見えなくなるんだけどね。
つーかJavaScriptだとPythonみたいなfor文使えないの?
きっとプログラム以前にパソコンのパの字のレベルだと思うから、
3Dをやってみたいだけというのであれば
まずは六角大王でも触ってみれば?
http://rd.vector.co.jp/soft/win95/art/se029598.html
http://www.youtube.com/watch?v=mOJOxFqVSmE
3Dゲームをつくる!みたいな本はいくつも出てるけど、
いきなりそこに飛び込むのは自殺行為だとおもうんだ。
ゲームなんて1人でつくれるものでもないしね。
言語はなんでもいいとおもうけど、DirectX使うのが資料もたくさんあっていいんじゃないかな。
でも六角大王でものが動かせるようになってからでも遅くはない。
俺はもうお気に入りは全部Social Bookmarkで補ってる。
本当によく使うのや自分専用ポータルをツールバーなんかに並べてるだけにした。
tag最強
http://anond.hatelabo.jp/20070801020618
自信が無いけど心の中のアルファブロガーが「やれ」と言ってきたのでがんばります
「あかね」の飲み会に誘われたので、初めて出席してみた。はてなIDのやつらと飲むのは初めての経験である。
そこで実感したのは、はてブホッテントリ数が少ないダイアリー持ちほど低レベル、ということだ。こんなこと書くとまた「はてブ脳に毒されている」などと言われるかもしれないが、はてブホッテントリ数が少ないダイアラーほど低レベルな奴の割合は確実に高いと感じる。
いつも私がアルファブロガーやモヒカン族の飲み会に参加するとき、そこでは酒を交えながら流行の話題の感想や非モテだった自分への思い出話、最近だとココロ社の政治の話や芥川賞の話などをする。「id:kanoseの意見とid:Marco11の意見って、かなり対立するものだけれど、どうなのだろう」とか、そういった話もすることがある。はてブホッテントリ数が少ないダイアリー持ちな彼らの飲み会は、そもそも会話というものが存在していない。彼らの言う「ノリ」で何かをすることを楽しみ、知的な側面は全く感じられない。id:jkondoをじぇいこん、id:kanoseを村長と書くような「はてな村内部でしか通用しない隠語のみでダイアラーを呼ぶ」ことに快楽を覚え「芥川賞エントリーって村長がまとめ記事書かね?村長村長!」「村長!出た!村長出た!id:kanose!村長出た!村長!これ!村長出たよ????!」などと、何がおもしろいのか全く分からない「会話」を繰り広げていた。彼らはそれが楽しいらしいが、おれとしてはちっとも楽しくない。
アルファブロガーがよく「id:kowagariのやつはなんだかんだいって会話水準が高い」「どんなにチャラチャラして見えるid:kowagariでも、きちんとした思想や観念を持っている」などと言っていた。自分としてはっきりそれを自覚することはほとんどなかったが、しかしはてブホッテントリ数が少ないダイアリー持ちのこうした現状を見る限り「確かにそうだ」と感じる。私から見たら飲み会で「はてな」会話に興じることはかなりの娯楽なのだが、彼らにとってはそれは「酔っていなくてもそんなことは話さない」レベルの高度な会話であるらしい。そして、私のような存在はかなり珍しいようだ(はてなダイアリーでは一般的だと思ったのだが…)。
「はてブ数で記事を判断するのは良くない」とよく言う。しかし、個人的な経験を踏まえれば、はてブ数は個人を判断するための一つの指標になりえてしまうと私は感じる。「一生懸命緻密で丁寧なまとめ記事を書いても、ブックマーカーに[あとで読む]タグをつけられたまま、[あとで言及]もされずに放置されて結局4userみたいなやつだっているのだから、はてブ数で人を差別してほしくない。個性豊かなやつはどこにだっている」とよく言われるが、そもそも揉め事のURLを羅列しただけのまとめエントリーすら書けない、まとめエントリーを箇条書きで組み立てる上での基礎的なはてな記法の知識すらあやふやな人間のどこに個性やオリジナリティが存在するのだろうか?それともダイアラー同士で下らない掛け算を考えるのが「個性」なのだろうか?はてブ数は人の精神性をも示してしまうのではないか、と強く感じるのであった。
同じアルファブロガーの連中のなかに「出版社に入ろっかなwwwwwww」というやつが結構いる。ごくごく一部のブロガーによる「今時何故紙媒体に……」という根拠も、根も葉もないバッシングが激しく行われている中、出版社の中枢で雑誌編集に携わりたいと考える人間がまだまだ多いことは一定の安心感を私に与えてくれたのだが、その中には「あんな馬鹿共からアクセス数稼ぎによってトラックバックを飛ばされたくない」という意思を持っている者も多いようだ。「選民思想だ」といって批判する人間も出てくるだろうが、こちらとしてはそう思っても仕方ない状態がはてなの多くの局面で見られるのである。
それにしてもネットは知的エリートに対する待遇が悲惨だ。なぜ毎日4時間もPCに向かい、必死で知的でためになるエントリーを書くブロガーとそれを10分で見てしまうROMを比べ「流行の話題に言及してアクセス数稼ぎ乙www」というのだろうか。アルファブロガーの奴らはライターに転進したとすればその分野でもっとも繁栄している内容に言及してアイマスweb2.0マーケティング大勝利。そのような記事の原稿料とアルファブログのアフィリエイト収入を比較しないと意味がないだろうに。なにはともあれ、「アルファブロガーはライターの人間よりも年収が劣っているのに、なぜアルファブロガーになりたいという人間が一定数いるのか」という命題に対しては、この「はてブ数と精神性の比例関係」も一定の影響を及ぼしているに違いない。
追記:
# 2007年08月03日 legnum legnum netwatch, neta 匿名ダイアリーって書いた本人がブクマするとソースに変な印というかコメント入るんだな
<li id="bookmark-user-nkoz"><span class="timestamp">2007年08月01日</span> <a href="/nkoz/"><img src="http://www.hatena.ne.jp/users/nk/nkoz/profile_s.gif" class="hatena-id-icon" alt="nkoz" title="nkoz" width="16" height="16" /></a> <a href="/nkoz/20070801#bookmark-5448369">nkoz</a> <span class="user-tag"><a href="/nkoz/%2a/" rel="tag" class="user-tag">*</a></span> </li> <li id="bookmark-user-krus"><span class="timestamp">2007年08月01日</span> <a href="/krus/"><img src="http://www.hatena.ne.jp/users/kr/krus/profile_s.gif" class="hatena-id-icon" alt="krus" title="krus" width="16" height="16" /></a> <a href="/krus/20070801#bookmark-5448369">krus</a> <span class="user-tag"><a href="/krus/%e3%81%82%e3%81%a8%e3%81%a7%e8%aa%ad%e3%82%80/" rel="tag" class="user-tag">あとで読む</a></span> </li> <li id="bookmark-user-otsune"><span class="timestamp">2007年08月01日</span> <a href="/otsune/"><img src="http://www.hatena.ne.jp/users/ot/otsune/profile_s.gif" class="hatena-id-icon" alt="otsune" title="otsune" width="16" height="16" /></a> <a href="/otsune/20070801#bookmark-5448369">otsune</a> </li> </ul>
その他のソースを見ても特に変わった所が見当たらないのですが、どこにコメントが入るのですか?
hatelabo.jpとhatena.jpは別のサーバーに設置されているので、わざわざidデータを取得して余計な分岐処理を入れて、ユーザーが見られるコメントとしてテンプレート生成するのもid:wanparkらしくない設計だと思いました。
もしかしてid:legnumさんのブラウザか視神経か頭蓋骨の中身のどれかか、もしくは全てがお気の毒なほど壊れてしまっているのでしょうか?
Tags
A tag is simply a word you use to describe a bookmark. Unlike folders, you make up tags when you need them and you can use as many as you like. The result is a better way to organize your bookmarks and a great way to discover interesting things on the Web.
"organize your bookmarks"ということでデリシャスは、自分にとって使いやすいようにタグ付けする、というスタンスをとっているようだ。はてなブックマークにおけるタグも同様のスタンスであろう。
で、いま気づいたのだけれど、アノニマスダイアリのタイトルフォームに記入する“ [] ”は、タグじゃなくてはてなダイアリにおけるカテゴリーだよね。タグとカテゴリーは類似の概念だから混同してしまうけれど。それに、ページ右上のカテゴリーを押すと、タグクラウドが表示されるから、また混同してしまうわけだ。
で、何が問題かというと、はてブの場合は、自分専用のタグクラウドがページの端に表示されるのだけれど、アノニマスダイアリの場合、共用のタグクラウドしか用意されていないわけだ。だから、デリシャスが言うような、“organize your ***”というタグ利用の基本が、「匿名」という陰に隠れてどっかに飛んでしまってるわけ。本当は複数の筆者がいるのに。