<?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/Kei_9/rss">
    <link>https://let.hatelabo.jp/Kei_9/rss</link>
    <description></description>
    <title>Bookmarklets from Kei_9</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/Kei_9/let/gYC-yvnd1brAOQ"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/Kei_9/let/gYC-yvnd1brAOQ">
    <link>https://let.hatelabo.jp/Kei_9/let/gYC-yvnd1brAOQ</link>
    <dc:date>2010-10-21T08:14:42Z</dc:date>
    <description>今見ているページを短縮URLにします。</description>
    <dc:creator>Kei_9</dc:creator>
    <title>[Let] goo.glで短縮URL作成</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2FKei_9%2Flet%2FgYC-yvnd1brAOQ.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;goo.glで短縮URL作成&lt;/a&gt;&lt;pre&gt;/*
 * @title goo.glで短縮URL作成
 * @description 今見ているページを短縮URLにします。
 * @include http://*
 * @license MIT License
 * @require 
 */
var doit = function (b) {
    var USER = &amp;quot;toolbar@google.com&amp;quot;;
    var LONG_URL = encodeURIComponent(b);
    function c() {
      for (var l = 0, m = 0; m &amp;lt; arguments.length; m++) l = l + arguments[m] &amp;amp; 4294967295;
      return l
    }
    function d(l) {
      l = l = String(l &amp;gt; 0 ? l : l + 4294967296);
      var m;
      m = l;
      for (var o = 0, n = false, p = m.length - 1; p &amp;gt;= 0; --p) {
          var q = Number(m.charAt(p));
          if (n) {
              q *= 2;
              o += Math.floor(q / 10) + q % 10
          } else o += q;
          n = !n
      }
      m = m = o % 10;
      o = 0;
      if (m != 0) {
          o = 10 - m;
          if (l.length % 2 == 1) {
              if (o % 2 == 1) o += 9;
              o /= 2
          }
      }
      m = String(o);
      m += l;
      return l = m
    }
    function e(l) {
      for (var m = 5381, o = 0; o &amp;lt; l.length; o++) m = c(m &amp;lt;&amp;lt; 5, m, l.charCodeAt(o));
      return m
    }
    function f(l) {
      for (var m = 0, o = 0; o &amp;lt; l.length; o++) m = c(l.charCodeAt(o), m &amp;lt;&amp;lt; 6, m &amp;lt;&amp;lt; 16, -m);
      return m
    }
    var g = &amp;quot;auth_token&amp;quot;;
    var i = e(b);
    i = i &amp;gt;&amp;gt; 2 &amp;amp; 1073741823;
    i = i &amp;gt;&amp;gt; 4 &amp;amp; 67108800 | i &amp;amp; 63;
    i = i &amp;gt;&amp;gt; 4 &amp;amp; 4193280 | i &amp;amp; 1023;
    i = i &amp;gt;&amp;gt; 4 &amp;amp; 245760 | i &amp;amp; 16383;
    var j = &amp;quot;7&amp;quot;;
    h = f(b);
    var k = (i &amp;gt;&amp;gt; 2 &amp;amp; 15) &amp;lt;&amp;lt; 4 | h &amp;amp; 15;
    k |= (i &amp;gt;&amp;gt; 6 &amp;amp; 15) &amp;lt;&amp;lt; 12 | (h &amp;gt;&amp;gt; 8 &amp;amp; 15) &amp;lt;&amp;lt; 8;
    k |= (i &amp;gt;&amp;gt; 10 &amp;amp; 15) &amp;lt;&amp;lt; 20 | (h &amp;gt;&amp;gt; 16 &amp;amp; 15) &amp;lt;&amp;lt; 16;
    k |= (i &amp;gt;&amp;gt; 14 &amp;amp; 15) &amp;lt;&amp;lt; 28 | (h &amp;gt;&amp;gt; 24 &amp;amp; 15) &amp;lt;&amp;lt; 24;
    j += d(k);
    var SHORT_URL = {
      extURL:'http://goo.gl/api/url',
      user:'toolbar@google.com',
      url:b,
      auth_token:j
    };
    return SHORT_URL;
};
var getscript = function(callb){
  var g_script = document.createElement('script');
  g_script.src =&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;;
  document.body.appendChild(g_script);
  var cid = setInterval(function(){
    if(window.jQuery!=undefined){
      clearInterval(cid);
      delete cid;
      callb();
    }else{
      document.body.appendChild(g_script);
    }
  },1000);
};
var getGoogl = function (url){
  $.ajax({
    url:'http://jsonptunnel.appspot.com/',
    dataType:'jsonp',
    jsonp:'_callback',
    data:doit(url),
    success:function(data){
      if(!data||!data.short_url){
        alert(&amp;quot;Oh...No...&amp;quot;);
        return false;
      }
      window.prompt(&amp;quot;Created shorturl by goo.gl!&amp;quot;,data.short_url);
     }
  });
};
getscript(function(){
  var long_url = location.href;
  getGoogl(long_url);
});&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
