<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel rdf:about="https://let.hatelabo.jp/cho45/rss">
    <link>https://let.hatelabo.jp/cho45/rss</link>
    <description></description>
    <title>Bookmarklets from cho45</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-yseQt7SAHA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/hLHWh-qh6uA1"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/hLHV4MDSp-wh"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/hLHV1eSNxcB0"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xojZm7SmBQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/hJmc-KKh9clx"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/hLHU4e2poN8H"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-x9GF4PSHEA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-yoKkrf2WFQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-yfjblf6fdQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-yLnC0c6pRQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-x-mI75W1BQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-y8SzgNzILw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xq_J66PVAw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpvc1d-NUw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpO37Y28Pw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpOrqNSfJw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpOruI6TKQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpOrtJbobA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cho45/let/gYC-xpOrrdOmfA"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-yseQt7SAHA">
    <link>https://let.hatelabo.jp/cho45/let/gYC-yseQt7SAHA</link>
    <dc:date>2015-06-19T08:33:44Z</dc:date>
    <description>みんな、大好き。セミ</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] セミ</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-yseQt7SAHA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;セミ&lt;/a&gt;&lt;pre&gt;/*
 * @title セミ
 * @description みんな、大好き。セミ
 * @license MIT License
 * @require 
 */

function replaceText (root) {
	var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, {
		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
	}, true);

	while (walker.nextNode()) {
		walker.currentNode.nodeValue = walker.currentNode.nodeValue.
			replace(/([セゼ]ミ|蝉)/gi, &amp;quot;リア充&amp;quot;);
	}
}

var observer = new MutationObserver(function (mutations) {
	mutations.forEach(function (mutation) {
		replaceText(mutation.target);
	});
});
observer.observe(document.body, {
	characterData: true
});

/*
	document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
		var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
			acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
		}, true);

		while (walker.nextNode()) with (walker.currentNode)
			nodeValue = nodeValue.replace(/([セゼ]ミ|蝉)/gi, &amp;quot;リア充&amp;quot;);

		return me;
	})({ target: document.body }), false);
*/

&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/hLHWh-qh6uA1">
    <link>https://let.hatelabo.jp/cho45/let/hLHWh-qh6uA1</link>
    <dc:date>2014-09-04T03:44:41Z</dc:date>
    <description>a:visited の見分けがつかないときに使うと便利です</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] 既読スルー</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FhLHWh-qh6uA1.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;既読スルー&lt;/a&gt;&lt;pre&gt;/*
 * @title 既読スルー
 * @description a:visited の見分けがつかないときに使うと便利です
 * @include http://*
 * @license MIT License
 * @require 
 */


var style = document.createElement('style');
style.appendChild(document.createTextNode(&amp;quot;a:visited { color: #fff }&amp;quot;));
document.body.appendChild(style);

document.body.style.display = &amp;quot;none&amp;quot;;
setTimeout(function () {
document.body.style.display = &amp;quot;block&amp;quot;;
}, 0);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/hLHV4MDSp-wh">
    <link>https://let.hatelabo.jp/cho45/let/hLHV4MDSp-wh</link>
    <dc:date>2014-07-05T01:01:28Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] setFreq by RBN</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FhLHV4MDSp-wh.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;setFreq by RBN&lt;/a&gt;&lt;pre&gt;/*
 * @title setFreq by RBN
 * @description my bookmarklet
 * @include http://www.reversebeacon.net/*
 *
 * @license MIT License
 * @require http://code.jquery.com/jquery-1.10.2.min.js
 */


function setFrequency (frequency) {
	var socket = new WebSocket('ws://waatserver.local:51234');
	socket.onopen = function () {
		console.log('open');
		socket.send(JSON.stringify({
			method : 'frequency',
			params : [ frequency ]
		}));
		socket.close();
	};
}


$('#spots').on('click', 'td.qrg', function () {
	var hz = Number($(this).text().replace(/[^\d.]/g, '')) * 1000;
	setFrequency(hz);
});
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/hLHV1eSNxcB0">
    <link>https://let.hatelabo.jp/cho45/let/hLHV1eSNxcB0</link>
    <dc:date>2014-06-18T09:18:37Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] 元気でる</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FhLHV1eSNxcB0.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;元気でる&lt;/a&gt;&lt;pre&gt;/*
 * @title 元気でる
 * @description my bookmarklet
 * @include http://*
 * @license MIT License
 * @require jquery
 */



document.body.setAttribute(&amp;quot;style&amp;quot;,&amp;quot;background: url(http://hatenacorp.jp/images/hatenaportal/recruit/intern2014/pic-voice2.jpg)&amp;quot;)
$('img').attr('src','http://hatenacorp.jp/images/hatenaportal/recruit/intern2014/pic-voice2.jpg');&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xojZm7SmBQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xojZm7SmBQ</link>
    <dc:date>2014-03-26T06:01:11Z</dc:date>
    <description>みんな、大好き。</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] バズワード総ゆのっち化</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xojZm7SmBQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;バズワード総ゆのっち化&lt;/a&gt;&lt;pre&gt;/*
 * @title バズワード総ゆのっち化
 * @description みんな、大好き。
 * @include http://*
 * @license MIT License
 * @require 
 */


document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
	var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
	}, true);

	while (walker.nextNode()) with (walker.currentNode)
		nodeValue = nodeValue.replace(/[ア-ンー]{2,}|[a-z][a-z\s]{4,}/gi, 'ゆのっち');

	return me;
})({ target: document.body }), false);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/hJmc-KKh9clx">
    <link>https://let.hatelabo.jp/cho45/let/hJmc-KKh9clx</link>
    <dc:date>2014-01-24T02:46:31Z</dc:date>
    <description>実行すると開いているページのフォームの入力状態を復元するブックマークレットを生成します</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Save Form State</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FhJmc-KKh9clx.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Save Form State&lt;/a&gt;&lt;pre&gt;/*
 * @title Save Form State
 * @description 実行すると開いているページのフォームの入力状態を復元するブックマークレットを生成します
 * @include http://*
 * @license MIT License
 * @require jquery
 * @require https://raw.github.com/kflorence/jquery-deserialize/master/dist/jquery.deserialize.min.js
 */


var data = [];
$('form').each(function () {
	var $this = $(this);
	data.push($this.serializeArray().filter(function (i) {
		return $this.find('[name=&amp;quot;' + i.name + '&amp;quot;]').attr('type') != 'hidden';
	}));
});

function bookmarklet (data) {
	(function load (scripts, callback) {
		var script = document.createElement('script');
		script.type = 'text/javascript';
		script.charset = 'utf-8';
		script.onload = function () { scripts.length ? load(scripts, callback) : callback() };
		script.src = scripts.shift();
		document.body.appendChild(script);
	})([&amp;quot;http://code.jquery.com/jquery-1.4.2.min.js&amp;quot;,&amp;quot;https://raw.github.com/kflorence/jquery-deserialize/master/dist/jquery.deserialize.min.js&amp;quot;], function() {
		$('form').each(function () {
			console.log('deserialize', this);
			$(this).deserialize(data.shift());
		});
	});
}

var href = 'javascript:' + encodeURIComponent('(' + bookmarklet.toString() + ')(' + JSON.stringify(data) + ')');

$('&amp;lt;a/&amp;gt;').attr('href', href).text('Restore Form').prependTo(document.body);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/hLHU4e2poN8H">
    <link>https://let.hatelabo.jp/cho45/let/hLHU4e2poN8H</link>
    <dc:date>2013-12-20T07:08:07Z</dc:date>
    <description>みんな、大好き。</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] バズワード総ゆのっち化 - イミュータブルなんとかへん</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FhLHU4e2poN8H.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;バズワード総ゆのっち化 - イミュータブルなんとかへん&lt;/a&gt;&lt;pre&gt;/*
 * @title バズワード総ゆのっち化 - イミュータブルなんとかへん
 * @description みんな、大好き。
 * @include http://*
 * @license MIT License
 * @require 
 */


document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
	var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
	}, true);

	while (walker.nextNode()) with (walker.currentNode)
		nodeValue = nodeValue.replace(/immutable infrastructure|イミュータブルインフラ[ア-ン]*|冪等性?|Docker|chef|ansible|vagrant|ruby|provisioning|プロビジョニング/gi, 'ゆのっち');

	return me;
})({ target: document.body }), false);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-x9GF4PSHEA">
    <link>https://let.hatelabo.jp/cho45/let/gYC-x9GF4PSHEA</link>
    <dc:date>2013-05-09T08:15:38Z</dc:date>
    <description>wikipedia の項目名をゆのっちに置換するだけです</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] ゆのっちペディア</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-x9GF4PSHEA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;ゆのっちペディア&lt;/a&gt;&lt;pre&gt;/*
 * @title ゆのっちペディア
 * @description wikipedia の項目名をゆのっちに置換するだけです
 * @include http://ja.wikipedia.org
 * @license MIT License
 */


var path = location.pathname.split('/');
var target = decodeURIComponent(path[path.length-1]);

document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
	var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
	}, true);

	while (walker.nextNode()) with (walker.currentNode)
		nodeValue = nodeValue.replace(target, 'ゆのっち');

	return me;
})({ target: document.body }), false);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-yoKkrf2WFQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-yoKkrf2WFQ</link>
    <dc:date>2012-06-22T03:39:17Z</dc:date>
    <description>みんな、大好き。</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] エディタ論争</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-yoKkrf2WFQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;エディタ論争&lt;/a&gt;&lt;pre&gt;/*
 * @title エディタ論争
 * @description みんな、大好き。
 * @include http://*
 * @license MIT License
 * @require 
 */


document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
	var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
		acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
	}, true);

	while (walker.nextNode()) with (walker.currentNode)
		nodeValue = nodeValue.replace(/(vim?)|(emacs)/gi, function (_, v, e) { return v ? '名前を言ってはいけないあのエディタ' : ['Eclipse', 'Ｅｃｌｉｐｓｅ'][~~(Math.random() * 2)] });

	return me;
})({ target: document.body }), false);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-yfjblf6fdQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-yfjblf6fdQ</link>
    <dc:date>2012-06-07T06:47:35Z</dc:date>
    <description>みんな、大好き。</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] いいね！</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-yfjblf6fdQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;いいね！&lt;/a&gt;&lt;pre&gt;/*
 * @title いいね！
 * @description みんな、大好き。
 * @include http://*
 * @license MIT License
 * @require 
 */


	document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
		var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
			acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
		}, true);

		while (walker.nextNode()) with (walker.currentNode)
			nodeValue = nodeValue.replace(/いいね！/gi, &amp;quot;ちんこ！&amp;quot;);

		return me;
	})({ target: document.body }), false);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-yLnC0c6pRQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-yLnC0c6pRQ</link>
    <dc:date>2011-08-15T06:39:03Z</dc:date>
    <description></description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Hatena::Character::Counting</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-yLnC0c6pRQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Hatena::Character::Counting&lt;/a&gt;&lt;pre&gt;/*
 * @title Hatena::Character::Counting
 * @include http://*
 * @license MIT License
 */

alert(function(){for(var a=&amp;quot;&amp;quot;,d=document.querySelectorAll(&amp;quot;#days .day .body .section p:not([class])&amp;quot;),b=0,c;c=d[b];b++)a+=c.textContent;a=a.replace(/\s+/g,&amp;quot; &amp;quot;);return a.length}());&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-x-mI75W1BQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-x-mI75W1BQ</link>
    <dc:date>2011-04-12T07:12:29Z</dc:date>
    <description>chrome://extensions/</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] chrome://extensions/</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-x-mI75W1BQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;chrome://extensions/&lt;/a&gt;&lt;pre&gt;/*
 * @title chrome://extensions/
 * @description chrome://extensions/
 * @include chrome://extensions/
 * @license MIT License
 */

var ret = &amp;quot;&amp;quot;;

var nodes = document.querySelectorAll('a[href^=&amp;quot;https://chrome.google.com/webstore/detail/&amp;quot;]');
for (var i = 0, it; it = nodes[i]; i++) {
	ret += &amp;quot;- &amp;quot; + it.innerText + &amp;quot; ( &amp;quot; + it.href + &amp;quot; )\n&amp;quot;;
}

alert(ret);

&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-y8SzgNzILw">
    <link>https://let.hatelabo.jp/cho45/let/gYC-y8SzgNzILw</link>
    <dc:date>2011-02-14T08:01:17Z</dc:date>
    <description></description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] 高専</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-y8SzgNzILw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;高専&lt;/a&gt;&lt;pre&gt;/*
 * @title 高専
 * @include http://*
 * @license MIT License
 * @require 
 */


	document.body.addEventListener(&amp;quot;DOMNodeInserted&amp;quot;, (function me (e) {
		var walker = document.createTreeWalker(e.target, NodeFilter.SHOW_TEXT, {
			acceptNode : function (node) { return NodeFilter.FILTER_ACCEPT }
		}, true);

		while (walker.nextNode()) with (walker.currentNode)
			nodeValue = nodeValue.replace(/高専/gi, &amp;quot;中卒&amp;quot;);

		return me;
	})({ target: document.body }), false);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xq_J66PVAw">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xq_J66PVAw</link>
    <dc:date>2010-06-28T03:32:57Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] はてブクリック数でユーザーをソート</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xq_J66PVAw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;はてブクリック数でユーザーをソート&lt;/a&gt;&lt;pre&gt;/*
 * @title はてブクリック数でユーザーをソート
 * @description my bookmarklet
 * @include http://b.hatena.ne.jp/entry/*
 * @license MIT License
 * @require https://gist.github.com/184276.txt#$X
 */

new function () {
	var lis = Array.prototype.slice.call(document.querySelectorAll('#bookmarked_user &amp;gt; li'), 1);
	for (var i = 0, len = lis.length; i &amp;lt; len; i++) {
		var count = $X('string(.//span[@class=&amp;quot;click-count&amp;quot;])', lis[i], String);
		lis[i]._click_count = count.match(/(\d+)/) ? Number(RegExp.$1) : 0;
	}

	lis = lis.sort(function (a, b) { return a._click_count - b._click_count });

	var ul = lis[0].parentNode;
	for (var i = 0, len = lis.length; i &amp;lt; len; i++) {
		ul.insertBefore(lis[i], ul.firstChild);
	}
};
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpvc1d-NUw">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpvc1d-NUw</link>
    <dc:date>2010-05-28T07:22:49Z</dc:date>
    <description>はて☆すた をロードします</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] はて☆すた</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpvc1d-NUw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;はて☆すた&lt;/a&gt;&lt;pre&gt;/*
 * @title はて☆すた
 * @description はて☆すた をロードします
 * @include http://*
 * @license MIT License
 * @require jQuery
 * @require http://rails2u.com/javascripts/swfobject.js
 */

var contentName = '__hatesta__container__';
if (document.getElementById(contentName)) return;

var w = $(window);
var content = document.createElement('div');
content.id = contentName;
document.body.appendChild(content);

var so = new SWFObject(&amp;quot;http://rails2u.com/misc/Hatesuta.swf?&amp;quot; + (new Date()).getTime(), &amp;quot;hatestaswf&amp;quot;, &amp;quot;100%&amp;quot;, &amp;quot;100%&amp;quot;, '9', '#FFFFFF');
so.addParam(&amp;quot;wmode&amp;quot;, &amp;quot;transparent&amp;quot;);
so.addParam(&amp;quot;allowScriptAccess&amp;quot;, &amp;quot;always&amp;quot;);
so.write(contentName);

var swf = document.getElementById(so.getAttribute('id'));
swf.style.position = 'absolute';
swf.style.width = w.width();
swf.style.height = w.height();
var setStyle = function() {
    swf.style.top = '' + w.scrollTop() + 'px';
    swf.style.left =  '' + w.scrollLeft() + 'px';
}
setStyle();
w.scroll(setStyle);

&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpO37Y28Pw">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpO37Y28Pw</link>
    <dc:date>2010-05-15T10:28:12Z</dc:date>
    <description>Resize browser</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Fullscreen</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpO37Y28Pw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Fullscreen&lt;/a&gt;&lt;pre&gt;/*
 * @title Fullscreen
 * @description Resize browser
 * @license MIT License
 */

var sw = window.screen.width;
var sh = window.screen.height;
var w  = sw;
var h  = sh-22;
window.moveTo(0,0);
window.resizeTo(w,h);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpOrqNSfJw">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpOrqNSfJw</link>
    <dc:date>2010-05-15T10:27:12Z</dc:date>
    <description>Move Hatena::Services</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Hatena::Services</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpOrqNSfJw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Hatena::Services&lt;/a&gt;&lt;pre&gt;// @title  Hatena::Services
// @description Move Hatena::Services
// @include http://*.hatena.ne.jp/

var s = prompt('Service:');
location = 'http://'+s+'.hatena.ne.jp/'+location.pathname.split(&amp;quot;/&amp;quot;)[1]+'/';&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpOruI6TKQ">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpOruI6TKQ</link>
    <dc:date>2010-05-15T10:26:16Z</dc:date>
    <description>Move to permalink page from fotolife image</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] img.f-&gt;f</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpOruI6TKQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;img.f-&amp;gt;f&lt;/a&gt;&lt;pre&gt;/*
 * @title img.f-&amp;gt;f
 * @description Move to permalink page from fotolife image
 * @include http://*
 * @license Public domain
 */

(function (_,_,_,_,user,_,permalink) {
  location='http://f.hatena.ne.jp/'+user+'/'+permalink;
}).apply({}, location.pathname.split(/[\/\._]/));&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpOrtJbobA">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpOrtJbobA</link>
    <dc:date>2010-05-15T10:24:39Z</dc:date>
    <description>Open all links in drag-and-drop area.</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Open by Drag</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpOrtJbobA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Open by Drag&lt;/a&gt;&lt;pre&gt;/*
 * @title Open by Drag
 * @description Open all links in drag-and-drop area.
 * @include http://*
 * @license MIT License
 * @require http://gist.github.com/3239.txt#createElementFromString
 */

selectNodeByDrag(function (results) {
	if (confirm(results.length + ' links selected. Open All?')) {
		for (var i = 0, len = results.length; i &amp;lt; len; i++) {
			window.open(results[i]);
		}
	}
});

function selectNodeByDrag (callback) {
	var sel = document.createElement('div');
	document.body.appendChild(sel);
	sel.setAttribute('style', 'outline: #000 3px solid; background: #fff; opacity: 0.5; position: absolute; display: none;');

	var down = false;
	function onmousedown (e) {
		e.preventDefault();
		e.stopPropagation();

		sel.style.left   = e.pageX + &amp;quot;px&amp;quot;;
		sel.style.top    = e.pageY + &amp;quot;px&amp;quot;;
		sel.style.width  = &amp;quot;0&amp;quot;;
		sel.style.height = &amp;quot;0&amp;quot;;
		sel._x = e.pageX;
		sel._y = e.pageY;
		sel._w = sel._h = 0;
		down = true;
		sel.style.display = &amp;quot;block&amp;quot;;
	}

	function onmousemove (e) {
		if (!down) return;

		e.preventDefault();
		e.stopPropagation();
		var dx = e.pageX - sel._x;
		var dy = e.pageY - sel._y;
		if (dy &amp;lt; 0) sel.style.top  = sel._y + dy + 'px';
		if (dx &amp;lt; 0) sel.style.left = sel._x + dx + 'px';
		sel._w = Math.abs(dx);
		sel._h = Math.abs(dy);
		sel.style.width  = sel._w + 'px';
		sel.style.height = sel._h + 'px';

		var ax = sel.offsetLeft, ay = sel.offsetTop;
		var aw = sel._w, ah = sel._h;
		var targets = findLinksByArea(ax, ay, aw, ah);
	}

	function onmouseup (e) {
		if (!down) return;
		e.preventDefault();
		e.stopPropagation();

		var targets = [];

		var ax = sel.offsetLeft, ay = sel.offsetTop;
		var aw = sel._w, ah = sel._h;

		var targets = findLinksByArea(ax, ay, aw, ah);

		window.removeEventListener(&amp;quot;mousedown&amp;quot;, onmousedown, true);
		window.removeEventListener(&amp;quot;mousemove&amp;quot;, onmousemove, true);
		window.removeEventListener(&amp;quot;mouseup&amp;quot;,   onmouseup,   true);

		try {
			callback(targets);
		} catch (e) {
			alert(e);
		}

		sel.parentNode.removeChild(sel);
	}

	function findLinksByArea (ax, ay, aw, ah) {
		var ret = [];
		var links = document.getElementsByTagName(&amp;quot;a&amp;quot;);
		for (var i = 0, len = links.length; i &amp;lt; len; i++) {
			var n = links[i];
			var bx = offset('Left', n), by = offset('Top', n);
			var bw = n.offsetWidth, bh = n.offsetHeight;
			if ((ax &amp;lt;= bx + bw) &amp;amp;&amp;amp;
				(bx &amp;lt;= ax + aw) &amp;amp;&amp;amp;
				(ay &amp;lt;= by + bh) &amp;amp;&amp;amp;
				(by &amp;lt;= ay + ah)) {

				n.style.outline = '2px solid red';
				ret.push(n.href);
			} else {
				n.style.outline = '';
			}
		}
		return ret;
	}

	function offset(dir, e) {
		var ret = 0;
		do {
			ret += e['offset' + dir];
		} while ((e = e.offsetParent));
		return ret;
	}

	window.addEventListener(&amp;quot;mousedown&amp;quot;, onmousedown, true);
	window.addEventListener(&amp;quot;mousemove&amp;quot;, onmousemove, true);
	window.addEventListener(&amp;quot;mouseup&amp;quot;,   onmouseup,   true);
}&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/cho45/let/gYC-xpOrrdOmfA">
    <link>https://let.hatelabo.jp/cho45/let/gYC-xpOrrdOmfA</link>
    <dc:date>2010-05-15T08:14:06Z</dc:date>
    <description>Reload all Hatena::Star without page refreshing</description>
    <dc:creator>cho45</dc:creator>
    <title>[Let] Reload Hatena::Star</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcho45%2Flet%2FgYC-xpOrrdOmfA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Reload Hatena::Star&lt;/a&gt;&lt;pre&gt;/*
 * @title Reload Hatena::Star
 * @description Reload all Hatena::Star without page refreshing
 * @include http://*.hatena.ne.jp
 */

(function(){
	Ten.DOM.getElementsByTagAndClassName(&amp;quot;span&amp;quot;, &amp;quot;hatena-star-comment-container&amp;quot;).forEach(function (i) {
		i.parentNode.removeChild(i)
	});
	Ten.DOM.getElementsByTagAndClassName(&amp;quot;span&amp;quot;, &amp;quot;hatena-star-star-container&amp;quot;).forEach(function (i) {
		i.parentNode.removeChild(i)
	});
	new Hatena.Star.EntryLoader()
})();&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
