<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet href="http://www.horaguchi.net/rss.xsl" type="text/xsl" media="screen" ?>
<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:sy="http://purl.org/rss/1.0/modules/syndication/"
         xmlns:content="http://purl.org/rss/1.0/modules/content/"
         xml:lang="ja">
  <channel rdf:about="http://www.horaguchi.net/index.rdf">
    <title>www.horaguchi.net</title>
    <link>http://www.horaguchi.net/</link>
    <image rdf:resource="http://www.horaguchi.net/logo.png" /> 
    <description>horaguchi の日記です。</description>
    <dc:language>ja</dc:language>
    <dc:date>2008-08-23T20:28:06+09:00</dc:date>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2567/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2566/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2565/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2564/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2563/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2562/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2561/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2560/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2559/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2558/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2557/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2556/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2555/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2554/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2553/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2552/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2551/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2550/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2549/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2548/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2547/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2546/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2545/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2544/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2543/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2542/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2541/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2540/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2539/" />
        <rdf:li rdf:resource="http://www.horaguchi.net/article.php/2538/" />
      </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://www.horaguchi.net/logo.png">
    <title>www.horaguchi.net</title> 
    <link>http://www.horaguchi.net/</link> 
    <url>http://www.horaguchi.net/logo.png</url> 
  </image>
  <item rdf:about="http://www.horaguchi.net/article.php/2567/">
    <title> tako3 のグループ数が 3017 になった。URL は 12070 ぐらい。 </title>
    <link>http://www.horaguchi.net/article.php/2567/</link>
    <description>tako3 のグループ数が 3017 になった。URL は 12070 ぐらい。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 のグループ数が 3017 になった。URL は 12070 ぐらい。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2371/">2008-08-23 20:28:06</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-08-23T20:28:06+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2566/">
    <title> hg push と hgweb.cgi の間のパケットを WinDump で見てみると、 </title>
    <link>http://www.horaguchi.net/article.php/2566/</link>
    <description>hg push と hgweb.cgi の間のパケットを WinDump で見てみると、
cmd=unbundle にバイナリを POST しているようで、先頭には HG10BZ とあった。
HG10BZ でググると HG10GZ HG10BZ HG10UN みたいのが引っかかって、
これは hg push の前に cmd=capabilities で受け取る文字列にも
unbundle=HG10GZ,HG10BZ,HG10UN と、含まれていた。
unbundle は hg bundle で作った bundle ファイルをレポジトリに適用するコマンドらしく、
試しに hg bundle でファイルを作ってみると先頭に HG10BZ が付いていて、
hg bundle したのを cmd=unbundle に POST してやれば push になるのかな、と思った。
BZ GZ UN というのは多分 BZ は bzip2、GZ は gzip だろうから UN は未圧縮のことだろうと思って

http://selenic.com/repo/index.cgi/hg/raw-file/438e02b4be73/mercurial/commands.py

ソースを見てみるとやっぱりそれっぽい。未圧縮なら読み書きできるかもと思って
よく見ると hg bundle 時にオプションで指定できそうなんだけど、
Windows バイナリの 1.0.1+20080525 では指定できなかった。
仕方ないのでノートに VMware Player をインストールして、Most Downloaded に並んでた
Ubuntu 8.04 Desktop with VMware Tools を落としてきて user user で起動して mercurial をインストールして
stable じゃない方のレポジトリをクローンしてきて make all とやったらなんかエラーが出たので
python-dev や asciidoc をインストールしたり /etc/mercurial/hgrc.d/hgext.rc の hgext.hbisect= 行をコメントアウトしたりして
make all 通したけどまだ mpatch がどうとか言われたので sudo make install したら動いた。
hg bundle --type none changes.hg で先頭が HG10UN の bundle ファイルが作れた。
読んだらバイナリで意味分かんなかった。
直接 push するのは面倒そう。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">hg push と hgweb.cgi の間のパケットを WinDump で見てみると、<br />
cmd=unbundle にバイナリを POST しているようで、先頭には HG10BZ とあった。<br />
HG10BZ でググると HG10GZ HG10BZ HG10UN みたいのが引っかかって、<br />
これは hg push の前に cmd=capabilities で受け取る文字列にも<br />
unbundle=HG10GZ,HG10BZ,HG10UN と、含まれていた。<br />
unbundle は hg bundle で作った bundle ファイルをレポジトリに適用するコマンドらしく、<br />
試しに hg bundle でファイルを作ってみると先頭に HG10BZ が付いていて、<br />
hg bundle したのを cmd=unbundle に POST してやれば push になるのかな、と思った。<br />
BZ GZ UN というのは多分 BZ は bzip2、GZ は gzip だろうから UN は未圧縮のことだろうと思って<br />
<br />
<a href="http://selenic.com/repo/index.cgi/hg/raw-file/438e02b4be73/mercurial/commands.py">http://selenic.com/repo/index.cgi/hg/raw-file/438e02b4be73/mercurial/commands.py</a> <a class="meta" href="http://app.muumoo.jp/page/#http://selenic.com/repo/index.cgi/hg/raw-file/438e02b4be73/mercurial/commands.py">→pageinfo</a><br />
<br />
ソースを見てみるとやっぱりそれっぽい。未圧縮なら読み書きできるかもと思って<br />
よく見ると hg bundle 時にオプションで指定できそうなんだけど、<br />
Windows バイナリの 1.0.1+20080525 では指定できなかった。<br />
仕方ないのでノートに VMware Player をインストールして、Most Downloaded に並んでた<br />
Ubuntu 8.04 Desktop with VMware Tools を落としてきて user user で起動して mercurial をインストールして<br />
stable じゃない方のレポジトリをクローンしてきて make all とやったらなんかエラーが出たので<br />
python-dev や asciidoc をインストールしたり /etc/mercurial/hgrc.d/hgext.rc の hgext.hbisect= 行をコメントアウトしたりして<br />
make all 通したけどまだ mpatch がどうとか言われたので sudo make install したら動いた。<br />
hg bundle --type none changes.hg で先頭が HG10UN の bundle ファイルが作れた。<br />
読んだらバイナリで意味分かんなかった。<br />
直接 push するのは面倒そう。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2566/">2008-08-14 20:07:50</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-08-14T20:07:50+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2565/">
    <title> tako3 source: changeset ec29fa3f8495 </title>
    <link>http://www.horaguchi.net/article.php/2565/</link>
    <description>tako3 source: changeset ec29fa3f8495
http://tako3.com/src?rev/ec29fa3f8495

コマンドの履歴をホイールでも上下できるようにしたけど、
ヌルヌルだと１つずつ上下させるのが結構面倒だった。
カクカクだと普通に使える感じかも。

Mouse wheel programming in JavaScript
http://adomas.org/javascript-mouse-wheel/

だいたいこれを参考にしたけど、
onmousewheel をメインにして、効かないときは DOMMouseScroll のが使われるように。
効かないとき、て Firefox だけど、そのうち onmousewheel も使えるようになるかも知れないから、
onmousewheel が呼ばれたときに DOMMouseScroll を無効にするようにした。
ので、IE 6, 7 と Firefox 2, 3 と Opera 9.5 と Safari 3.1.2 で一応。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 source: changeset ec29fa3f8495<br />
<a href="http://tako3.com/src?rev/ec29fa3f8495">http://tako3.com/src?rev/ec29fa3f8495</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/src?rev/ec29fa3f8495">→pageinfo</a><br />
<br />
コマンドの履歴をホイールでも上下できるようにしたけど、<br />
ヌルヌルだと１つずつ上下させるのが結構面倒だった。<br />
カクカクだと普通に使える感じかも。<br />
<br />
Mouse wheel programming in JavaScript<br />
<a href="http://adomas.org/javascript-mouse-wheel/">http://adomas.org/javascript-mouse-wheel/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://adomas.org/javascript-mouse-wheel/">→pageinfo</a><br />
<br />
だいたいこれを参考にしたけど、<br />
onmousewheel をメインにして、効かないときは DOMMouseScroll のが使われるように。<br />
効かないとき、て Firefox だけど、そのうち onmousewheel も使えるようになるかも知れないから、<br />
onmousewheel が呼ばれたときに DOMMouseScroll を無効にするようにした。<br />
ので、IE 6, 7 と Firefox 2, 3 と Opera 9.5 と Safari 3.1.2 で一応。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2565/">2008-08-11 07:35:15</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-08-11T07:35:15+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2564/">
    <title> tako3 copy </title>
    <link>http://www.horaguchi.net/article.php/2564/</link>
    <description>tako3 copy
http://tako3.com/home/add

で URL を投稿すると、public tako を変更することなく、user tako にその URL をそのままコピーすることができる。
その後 update か update all をやれば、その URL を含んだグループ情報をコピーすることになる。
grouping の機能は全く無いので、空行はあっても無くても同じ。

また、public tako を変更することなく、タグを付けることもできる。
これを使って、前に少し調べたのと iddy とハチロク世代にあった生年情報をタグにしてみた。
一応、公開されてるのに書かれてたものだけ。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 copy<br />
<a href="http://tako3.com/home/add">http://tako3.com/home/add</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/home/add">→pageinfo</a><br />
<br />
で URL を投稿すると、public tako を変更することなく、user tako にその URL をそのままコピーすることができる。<br />
その後 update か update all をやれば、その URL を含んだグループ情報をコピーすることになる。<br />
grouping の機能は全く無いので、空行はあっても無くても同じ。<br />
<br />
また、public tako を変更することなく、タグを付けることもできる。<br />
これを使って、前に少し調べたのと iddy とハチロク世代にあった生年情報をタグにしてみた。<br />
一応、公開されてるのに書かれてたものだけ。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2564/">2008-08-08 11:04:18</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-08-08T11:04:18+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2563/">
    <title> del.icio.us が delicious.com になったようなので </title>
    <link>http://www.horaguchi.net/article.php/2563/</link>
    <description>del.icio.us が delicious.com になったようなので

REPLACE
  INTO addresses
  SELECT REPLACE(sub.address, &quot;http://del.icio.us/&quot;,  &quot;http://delicious.com/&quot;), sub.time
    FROM addresses AS sub
    WHERE sub.address LIKE &quot;http://del.icio.us/%&quot;

を実行した。その内 del.icio.us の方は消すかも。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">del.icio.us が delicious.com になったようなので<br />
<br />
REPLACE<br />
&nbsp;&nbsp;INTO addresses<br />
&nbsp;&nbsp;SELECT REPLACE(sub.address, &quot;http://del.icio.us/&quot;,&nbsp;&nbsp;&quot;http://delicious.com/&quot;), sub.time<br />
&nbsp;&nbsp;&nbsp;&nbsp;FROM addresses AS sub<br />
&nbsp;&nbsp;&nbsp;&nbsp;WHERE sub.address LIKE &quot;http://del.icio.us/%&quot;<br />
<br />
を実行した。その内 del.icio.us の方は消すかも。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2563/">2008-08-03 18:22:17</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-08-03T18:22:17+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2562/">
    <title> Googleの検索結果をフィルタリングできる「&amp;as_qdr」オプションとは？ | IDEA*IDEA </title>
    <link>http://www.horaguchi.net/article.php/2562/</link>
    <description>Googleの検索結果をフィルタリングできる「&amp;as_qdr」オプションとは？ | IDEA*IDEA
http://www.ideaxidea.com/archives/2008/04/googleas_qdr.html

Google の検索結果画面で使う bookmarklet。
javascript:location.href+='&amp;as_qdr=d'

デフォルトで表示されて欲しいけど。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Googleの検索結果をフィルタリングできる「&amp;as_qdr」オプションとは？ | IDEA*IDEA<br />
<a href="http://www.ideaxidea.com/archives/2008/04/googleas_qdr.html">http://www.ideaxidea.com/archives/2008/04/googleas_qdr.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.ideaxidea.com/archives/2008/04/googleas_qdr.html">→pageinfo</a><br />
<br />
Google の検索結果画面で使う bookmarklet。<br />
<a href="javascript:location.href+='&amp;as_qdr=d'">javascript:location.href+='&amp;as_qdr=d'</a> <a class="meta" href="http://app.muumoo.jp/page/#javascript:location.href+='&amp;as_qdr=d'">→pageinfo</a><br />
<br />
デフォルトで表示されて欲しいけど。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2562/">2008-07-30 17:16:56</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-30T17:16:56+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2561/">
    <title> はてなダイアリーへのリンクの URL で、末尾のスラッシュを抜かして書く人がいるけれど、それだと </title>
    <link>http://www.horaguchi.net/article.php/2561/</link>
    <description>はてなダイアリーへのリンクの URL で、末尾のスラッシュを抜かして書く人がいるけれど、それだと

View HTTP Request and Response Header
http://web-sniffer.net/?url=http%3A%2F%2Fd.hatena.ne.jp%2Fhoraguchi&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=GET&amp;uak=0

302 が返される。IE や Firefox とかで見てる分には、違いに気がつきにくいとは思うけど、
getako に失敗するので気がついた。これは、新しい風習だろうか。

HTTP ヘッダで、スラッシュ有り無し、どっちがアクセスするのに合理的な URL か分かるのは良いほうで、
似たような、http://example.com/user/entry パターンを取っているサービスは、
大抵、http://example.com/user と http://example.com/user/ どっちでもアクセスできるので、ややこしいことに。
だいたい、そのサービス内でのリンクがそのまま各所で使われるので、
Google でもそっちが上位になるだろうことが分かるんだけど、
サービス内で統一されていないとか、好みでスラッシュ無しで使ってるとかだと、どっちが来るかわからなくなったりする。

開発者向け情報 - [パストラック(Pathtraq)]
http://pathtraq.com/developer/#help_normalize_url

http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi

＞&quot;http://d.hatena.ne.jp/horaguchi&quot;

http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi/

＞&quot;http://d.hatena.ne.jp/horaguchi/&quot;

Pathtraq のはそういう正規化では無いらしい。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">はてなダイアリーへのリンクの URL で、末尾のスラッシュを抜かして書く人がいるけれど、それだと<br />
<br />
View HTTP Request and Response Header<br />
<a href="http://web-sniffer.net/?url=http%3A%2F%2Fd.hatena.ne.jp%2Fhoraguchi&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=GET&amp;uak=0">http://web-sniffer.net/?url=http%3A%2F%2Fd.hatena.ne.jp%2Fhoraguchi&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=GET&amp;uak=0</a> <a class="meta" href="http://app.muumoo.jp/page/#http://web-sniffer.net/?url=http%3A%2F%2Fd.hatena.ne.jp%2Fhoraguchi&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=GET&amp;uak=0">→pageinfo</a><br />
<br />
302 が返される。IE や Firefox とかで見てる分には、違いに気がつきにくいとは思うけど、<br />
getako に失敗するので気がついた。これは、新しい風習だろうか。<br />
<br />
HTTP ヘッダで、スラッシュ有り無し、どっちがアクセスするのに合理的な URL か分かるのは良いほうで、<br />
似たような、http://example.com/user/entry パターンを取っているサービスは、<br />
大抵、http://example.com/user と http://example.com/user/ どっちでもアクセスできるので、ややこしいことに。<br />
だいたい、そのサービス内でのリンクがそのまま各所で使われるので、<br />
Google でもそっちが上位になるだろうことが分かるんだけど、<br />
サービス内で統一されていないとか、好みでスラッシュ無しで使ってるとかだと、どっちが来るかわからなくなったりする。<br />
<br />
開発者向け情報 - [パストラック(Pathtraq)]<br />
<a href="http://pathtraq.com/developer/#help_normalize_url">http://pathtraq.com/developer/#help_normalize_url</a> <a class="meta" href="http://app.muumoo.jp/page/#http://pathtraq.com/developer/#help_normalize_url">→pageinfo</a><br />
<br />
<a href="http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi">http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi</a> <a class="meta" href="http://app.muumoo.jp/page/#http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi">→pageinfo</a><br />
<br />
＞&quot;http://d.hatena.ne.jp/horaguchi&quot;<br />
<br />
<a href="http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi/">http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://api.pathtraq.com/normalize_url2?url=http://d.hatena.ne.jp/horaguchi/">→pageinfo</a><br />
<br />
＞&quot;http://d.hatena.ne.jp/horaguchi/&quot;<br />
<br />
Pathtraq のはそういう正規化では無いらしい。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2561/">2008-07-30 14:08:49</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-30T14:08:49+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2560/">
    <title> Favicon API (ファビコン) α版 </title>
    <link>http://www.horaguchi.net/article.php/2560/</link>
    <description>Favicon API (ファビコン) α版
http://favicon.aruko.net/

を使って、１つ目のリンクに favicon 画像をつける favicon.js を追加した。

http://tako3.com/favicon.js

tako3 command: cat http://tako3.com/search/b.hatena | shuffle | head -10 | list | favicon
http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20%7C%20shuffle%20%7C%20head%20-10%20%7C%20list%20%7C%20favicon

ただ、こんな風に使っていいものなのかどうか。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Favicon API (ファビコン) α版<br />
<a href="http://favicon.aruko.net/">http://favicon.aruko.net/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://favicon.aruko.net/">→pageinfo</a><br />
<br />
を使って、１つ目のリンクに favicon 画像をつける favicon.js を追加した。<br />
<br />
<a href="http://tako3.com/favicon.js">http://tako3.com/favicon.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/favicon.js">→pageinfo</a><br />
<br />
tako3 command: cat http://tako3.com/search/b.hatena | shuffle | head -10 | list | favicon<br />
<a href="http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20%7C%20shuffle%20%7C%20head%20-10%20%7C%20list%20%7C%20favicon">http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20%7C%20shuffle%20%7C%20head%20-10%20%7C%20list%20%7C%20favicon</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20%7C%20shuffle%20%7C%20head%20-10%20%7C%20list%20%7C%20favicon">→pageinfo</a><br />
<br />
ただ、こんな風に使っていいものなのかどうか。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2560/">2008-07-29 23:22:21</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-29T23:22:21+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2559/">
    <title> だいたい、リンクは 0000FF rgb(0, 0, 255) で、既読は 800080 rgb(128, 0, 128) のようで、 </title>
    <link>http://www.horaguchi.net/article.php/2559/</link>
    <description>だいたい、リンクは 0000FF rgb(0, 0, 255) で、既読は 800080 rgb(128, 0, 128) のようで、
HSV にするとそれぞれ (240, 1, 1) と (300, 1, 0.5) になって、既読は明度が半分という。
そこで URL の文字列から色相を計算して、明度・彩度を保ったままリンクの色を勝手に変える bookmarklet を作った。

javascript:(function(){var%20s=document.createElement('script');s.src='http://www.horaguchi.net/files/link2rainbow.js';document.body.appendChild(s)})()

けど、単に見辛いと思う。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">だいたい、リンクは 0000FF rgb(0, 0, 255) で、既読は 800080 rgb(128, 0, 128) のようで、<br />
HSV にするとそれぞれ (240, 1, 1) と (300, 1, 0.5) になって、既読は明度が半分という。<br />
そこで URL の文字列から色相を計算して、明度・彩度を保ったままリンクの色を勝手に変える bookmarklet を作った。<br />
<br />
<a href="javascript:(function(){var%20s=document.createElement('script');s.src='http://www.horaguchi.net/files/link2rainbow.js';document.body.appendChild(s)})()">javascript:(function(){var%20s=document.createElement('script');s.src='http://www.horaguchi.net/files/link2rainbow.js';document.body.appendChild(s)})()</a> <a class="meta" href="http://app.muumoo.jp/page/#javascript:(function(){var%20s=document.createElement('script');s.src='http://www.horaguchi.net/files/link2rainbow.js';document.body.appendChild(s)})()">→pageinfo</a><br />
<br />
けど、単に見辛いと思う。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2559/">2008-07-29 22:42:49</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-29T22:42:49+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2558/">
    <title> Welcome to Adobe GoLive 5 </title>
    <link>http://www.horaguchi.net/article.php/2558/</link>
    <description>Welcome to Adobe GoLive 5
http://aozoragaigo.fc2web.com/kiroku/how.html

できた。
http://www.horaguchi.net/files/1217273770.jpg</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Welcome to Adobe GoLive 5<br />
<a href="http://aozoragaigo.fc2web.com/kiroku/how.html">http://aozoragaigo.fc2web.com/kiroku/how.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://aozoragaigo.fc2web.com/kiroku/how.html">→pageinfo</a><br />
<br />
できた。<br />
<a href="http://www.horaguchi.net/files/1217273770.jpg">http://www.horaguchi.net/files/1217273770.jpg</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.horaguchi.net/files/1217273770.jpg">→pageinfo</a></p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2558/">2008-07-29 04:37:05</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-29T04:37:05+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2557/">
    <title> キーボードのカーソルの上下で履歴を辿れるようにした。 </title>
    <link>http://www.horaguchi.net/article.php/2557/</link>
    <description>キーボードのカーソルの上下で履歴を辿れるようにした。
キーボードを使った操作は、GreaseMonkey もあるだろうし、そんなに使うようには作ってないんだけど、
簡単なキーマッピングなら Rogueliki のをそのまま使えるので、これぐらいは一応という。
ログインしてないと意味無いけど。

はてなブックマーク - COLLECTION &amp; COPY / 2008年07月24日
http://b.hatena.ne.jp/brazil/20080724#bookmark-9410508
より
Greasemonkey: tinyshell.user.js - mayokara note
http://mayokara.info/note/view/307

＞Minibufferとの差異
＞
＞    * 標準出力を表示できる
＞    * 付属コマンドが違う
＞    * 補完機能がしょぼい
＞          o 一応TABを押せば全コマンドから絞り込みをかけた結果が出ます
＞    * コマンドの返り値が配列ではなく文字列

あんま関係無いけど、
これもコマンドが実行できるらしく、文字列を受け渡しするようになっている。

＞    calc: function(STDIN, ARGV, $0){
＞        var stmt = (ARGV.length &gt; 0) ? ARGV.join(&quot; &quot;) : STDIN.replace(/\s+/g, &quot; &quot;);
＞        try {
＞            with (Math) { return eval(stmt); }
＞        } catch(e) {
＞            throw $0 + &quot;: &quot; + e;
＞        }
＞    },

$0 でエラーハンドリングみたいなことをしてるんだろうか。
繋がりで、Jarminal という言葉が。

Jarminal - termial of JavaScript on browser
http://labs.37to.net/docs/ver0.01/jarminal.html

今のところ、ブラウザに依存しない汎用デバッグツールのような位置付けらしい。
資料の中で、他の JavaScript のシェル実装の概略も。

＞jarminal.command.list.mycommand = {
＞    desc : 'my command',
＞
＞    /**
＞     * 引数には入力された
＞     * コマンドの情報が
＞     * オブジェクトとして入ってくる
＞     */
＞    func : function(input){ /* code */  }
＞};

jsh
http://www.asahi-net.or.jp/~xe4r-kmt/jsh/jsh.html

コマンド列の１つ１つが、既存のページやアプリケーションに対応していると考えると、
コマンド列をただ呼び出すだけなら、それはランチャーみたいなもので、
手順が共通化されて履歴や補完があったとしても、
キーボードで文字列を入力させる必要はやっぱり無さそうというか、
アイコンをクリックとかショートカットキーとかマウスジェスチャの方が便利そう。
やっぱり引数やパイプやもろもろで、今までのそういう操作をまた操作できるってところが。
ショートカットキーやアイコンをクリックやマウスジェスチャでも、
設定すれば操作の操作はできるし、実際、コマンドでも履歴から辿ることが多いと思うんだけど、
コマンドになると、それがステートレスになって、履歴に残るので、検索とか共有とか。
別にコードとか URL とか他の表現でも、表現できるならそこは同じだけど。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">キーボードのカーソルの上下で履歴を辿れるようにした。<br />
キーボードを使った操作は、GreaseMonkey もあるだろうし、そんなに使うようには作ってないんだけど、<br />
簡単なキーマッピングなら Rogueliki のをそのまま使えるので、これぐらいは一応という。<br />
ログインしてないと意味無いけど。<br />
<br />
はてなブックマーク - COLLECTION &amp; COPY / 2008年07月24日<br />
<a href="http://b.hatena.ne.jp/brazil/20080724#bookmark-9410508">http://b.hatena.ne.jp/brazil/20080724#bookmark-9410508</a> <a class="meta" href="http://app.muumoo.jp/page/#http://b.hatena.ne.jp/brazil/20080724#bookmark-9410508">→pageinfo</a><br />
より<br />
Greasemonkey: tinyshell.user.js - mayokara note<br />
<a href="http://mayokara.info/note/view/307">http://mayokara.info/note/view/307</a> <a class="meta" href="http://app.muumoo.jp/page/#http://mayokara.info/note/view/307">→pageinfo</a><br />
<br />
＞Minibufferとの差異<br />
＞<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;* 標準出力を表示できる<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;* 付属コマンドが違う<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;* 補完機能がしょぼい<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o 一応TABを押せば全コマンドから絞り込みをかけた結果が出ます<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;* コマンドの返り値が配列ではなく文字列<br />
<br />
あんま関係無いけど、<br />
これもコマンドが実行できるらしく、文字列を受け渡しするようになっている。<br />
<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;calc: function(STDIN, ARGV, $0){<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var stmt = (ARGV.length &gt; 0) ? ARGV.join(&quot; &quot;) : STDIN.replace(/\s+/g, &quot; &quot;);<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with (Math) { return eval(stmt); }<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch(e) {<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw $0 + &quot;: &quot; + e;<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;},<br />
<br />
$0 でエラーハンドリングみたいなことをしてるんだろうか。<br />
繋がりで、Jarminal という言葉が。<br />
<br />
Jarminal - termial of JavaScript on browser<br />
<a href="http://labs.37to.net/docs/ver0.01/jarminal.html">http://labs.37to.net/docs/ver0.01/jarminal.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://labs.37to.net/docs/ver0.01/jarminal.html">→pageinfo</a><br />
<br />
今のところ、ブラウザに依存しない汎用デバッグツールのような位置付けらしい。<br />
資料の中で、他の JavaScript のシェル実装の概略も。<br />
<br />
＞jarminal.command.list.mycommand = {<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;desc : 'my command',<br />
＞<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;/**<br />
＞&nbsp;&nbsp;&nbsp;&nbsp; * 引数には入力された<br />
＞&nbsp;&nbsp;&nbsp;&nbsp; * コマンドの情報が<br />
＞&nbsp;&nbsp;&nbsp;&nbsp; * オブジェクトとして入ってくる<br />
＞&nbsp;&nbsp;&nbsp;&nbsp; */<br />
＞&nbsp;&nbsp;&nbsp;&nbsp;func : function(input){ /* code */&nbsp;&nbsp;}<br />
＞};<br />
<br />
jsh<br />
<a href="http://www.asahi-net.or.jp/~xe4r-kmt/jsh/jsh.html">http://www.asahi-net.or.jp/~xe4r-kmt/jsh/jsh.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.asahi-net.or.jp/~xe4r-kmt/jsh/jsh.html">→pageinfo</a><br />
<br />
コマンド列の１つ１つが、既存のページやアプリケーションに対応していると考えると、<br />
コマンド列をただ呼び出すだけなら、それはランチャーみたいなもので、<br />
手順が共通化されて履歴や補完があったとしても、<br />
キーボードで文字列を入力させる必要はやっぱり無さそうというか、<br />
アイコンをクリックとかショートカットキーとかマウスジェスチャの方が便利そう。<br />
やっぱり引数やパイプやもろもろで、今までのそういう操作をまた操作できるってところが。<br />
ショートカットキーやアイコンをクリックやマウスジェスチャでも、<br />
設定すれば操作の操作はできるし、実際、コマンドでも履歴から辿ることが多いと思うんだけど、<br />
コマンドになると、それがステートレスになって、履歴に残るので、検索とか共有とか。<br />
別にコードとか URL とか他の表現でも、表現できるならそこは同じだけど。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2556/">2008-07-29 12:48:06</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-29T12:48:06+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2556/">
    <title> tako3 command を location.hash 無しで読んだときに、 </title>
    <link>http://www.horaguchi.net/article.php/2556/</link>
    <description>tako3 command を location.hash 無しで読んだときに、
実行したコマンドのリストを表示して、それをクリックすることで実行できるようにした。
保存も表示も、ログインしてないとしないけど。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 command を location.hash 無しで読んだときに、<br />
実行したコマンドのリストを表示して、それをクリックすることで実行できるようにした。<br />
保存も表示も、ログインしてないとしないけど。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2556/">2008-07-28 02:58:14</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-28T02:58:14+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2555/">
    <title> Manpage of GREP </title>
    <link>http://www.horaguchi.net/article.php/2555/</link>
    <description>Manpage of GREP
http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html

Manpage of CUT
http://www.linux.or.jp/JM/html/GNU_textutils/man1/cut.1.html

それぞれ、grep.js cut.js として、今は使いそうなオプションだけ、とりあえず実装した。

http://tako3.com/grep.js
http://tako3.com/cut.js

http://tako3.com/command#cat%20http://del.icio.us/horaguchi
http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20grep%20com
http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20cut%20-f2-

grep は NG ワード機能の代替として使う気だったので、-f と -v をつけた。

http://tako3.com/command#cat%20http://twitter.com/horaguchi%20|%20grep%20-v%20-f%20http://del.icio.us/horaguchi

この -f は内部では Command.js で cat を呼んでいて、
cat は http://tako3.com/* のときは getako3 -feed、それ以外は googlefeed | gfselect link categories
で URL からテキストを取得している。今のところ。

http://tako3.com/cat.js
http://tako3.com/getako3.js
http://tako3.com/googlefeed.js
http://tako3.com/gfselect.js

この googlefeed | gfselect link categories で得られるテキスト、というのは tako3 への入力テキストと同じで、
tako3 の feed を googlefeed | gfselect link categories しても、得られるテキストは入力テキストと同じだけど、
cat では Auto Discovery の手間を省くために
tako3 のだけ getako3 -feed で url feedUrl 形式のを取ってきてるので、
tako3 のアドレスを cat したときには入力テキストと微妙に食い違う。これはその内どうにか。

それで、grep -f に使う用に、入力テキストから json と feed の API を用意する tako3 temp を作った。
リンクを含めないフィードが valid か怪しかったけど、

RSS 2.0 Specification (RSS 2.0 at Harvard Law)
http://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgt

＞All elements of an item are optional, however at least one of title or description must be present. 

item のリンクは optional らしいのでそうした。

tako3 temp: sample-of-my-article
http://tako3.com/temp/sample-of-my-article

こういう temp があると、

http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-f%20http://tako3.com/temp/sample-of-my-article
http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-v%20-f%20http://tako3.com/temp/sample-of-my-article

上のリンクで含む記事を、下のリンクで含まない記事を見れる。
list や view で返されるのは最終的な、innerHTML に代入するための HTML を含んだ文字列の配列なので、
それを grep すると概要・題名・中身をまとめて検索していることに。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Manpage of GREP<br />
<a href="http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html">http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html">→pageinfo</a><br />
<br />
Manpage of CUT<br />
<a href="http://www.linux.or.jp/JM/html/GNU_textutils/man1/cut.1.html">http://www.linux.or.jp/JM/html/GNU_textutils/man1/cut.1.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.linux.or.jp/JM/html/GNU_textutils/man1/cut.1.html">→pageinfo</a><br />
<br />
それぞれ、grep.js cut.js として、今は使いそうなオプションだけ、とりあえず実装した。<br />
<br />
<a href="http://tako3.com/grep.js">http://tako3.com/grep.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/grep.js">→pageinfo</a><br />
<a href="http://tako3.com/cut.js">http://tako3.com/cut.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/cut.js">→pageinfo</a><br />
<br />
<a href="http://tako3.com/command#cat%20http://del.icio.us/horaguchi">http://tako3.com/command#cat%20http://del.icio.us/horaguchi</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://del.icio.us/horaguchi">→pageinfo</a><br />
<a href="http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20grep%20com">http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20grep%20com</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20grep%20com">→pageinfo</a><br />
<a href="http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20cut%20-f2-">http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20cut%20-f2-</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20cut%20-f2-">→pageinfo</a><br />
<br />
grep は NG ワード機能の代替として使う気だったので、-f と -v をつけた。<br />
<br />
<a href="http://tako3.com/command#cat%20http://twitter.com/horaguchi%20|%20grep%20-v%20-f%20http://del.icio.us/horaguchi">http://tako3.com/command#cat%20http://twitter.com/horaguchi%20|%20grep%20-v%20-f%20http://del.icio.us/horaguchi</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://twitter.com/horaguchi%20|%20grep%20-v%20-f%20http://del.icio.us/horaguchi">→pageinfo</a><br />
<br />
この -f は内部では Command.js で cat を呼んでいて、<br />
cat は http://tako3.com/* のときは getako3 -feed、それ以外は googlefeed | gfselect link categories<br />
で URL からテキストを取得している。今のところ。<br />
<br />
<a href="http://tako3.com/cat.js">http://tako3.com/cat.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/cat.js">→pageinfo</a><br />
<a href="http://tako3.com/getako3.js">http://tako3.com/getako3.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/getako3.js">→pageinfo</a><br />
<a href="http://tako3.com/googlefeed.js">http://tako3.com/googlefeed.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/googlefeed.js">→pageinfo</a><br />
<a href="http://tako3.com/gfselect.js">http://tako3.com/gfselect.js</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/gfselect.js">→pageinfo</a><br />
<br />
この googlefeed | gfselect link categories で得られるテキスト、というのは tako3 への入力テキストと同じで、<br />
tako3 の feed を googlefeed | gfselect link categories しても、得られるテキストは入力テキストと同じだけど、<br />
cat では Auto Discovery の手間を省くために<br />
tako3 のだけ getako3 -feed で url feedUrl 形式のを取ってきてるので、<br />
tako3 のアドレスを cat したときには入力テキストと微妙に食い違う。これはその内どうにか。<br />
<br />
それで、grep -f に使う用に、入力テキストから json と feed の API を用意する tako3 temp を作った。<br />
リンクを含めないフィードが valid か怪しかったけど、<br />
<br />
RSS 2.0 Specification (RSS 2.0 at Harvard Law)<br />
<a href="http://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgt">http://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgt</a> <a class="meta" href="http://app.muumoo.jp/page/#http://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgt">→pageinfo</a><br />
<br />
＞All elements of an item are optional, however at least one of title or description must be present. <br />
<br />
item のリンクは optional らしいのでそうした。<br />
<br />
tako3 temp: sample-of-my-article<br />
<a href="http://tako3.com/temp/sample-of-my-article">http://tako3.com/temp/sample-of-my-article</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/temp/sample-of-my-article">→pageinfo</a><br />
<br />
こういう temp があると、<br />
<br />
<a href="http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-f%20http://tako3.com/temp/sample-of-my-article">http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-f%20http://tako3.com/temp/sample-of-my-article</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-f%20http://tako3.com/temp/sample-of-my-article">→pageinfo</a><br />
<a href="http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-v%20-f%20http://tako3.com/temp/sample-of-my-article">http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-v%20-f%20http://tako3.com/temp/sample-of-my-article</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/command#cat%20http://tako3.com/search/b.hatena%20|%20shuffle%20|%20head%2020%20|%20list%20|%20grep%20-v%20-f%20http://tako3.com/temp/sample-of-my-article">→pageinfo</a><br />
<br />
上のリンクで含む記事を、下のリンクで含まない記事を見れる。<br />
list や view で返されるのは最終的な、innerHTML に代入するための HTML を含んだ文字列の配列なので、<br />
それを grep すると概要・題名・中身をまとめて検索していることに。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2555/">2008-07-22 21:52:51</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-22T21:52:51+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2554/">
    <title> Twitter / ryo: @hirameki tako3がXFNやFOAFの形式... </title>
    <link>http://www.horaguchi.net/article.php/2554/</link>
    <description>Twitter / ryo: @hirameki tako3がXFNやFOAFの形式...
http://twitter.com/ryo_grid/statuses/859953479

＞@hirameki tako3がXFNやFOAFの形式でデータを吐いて、それをGoogleにクロールさせる。 

tako3 は本人以外の投稿が主なので、rel=&quot;me&quot; は付けづらいというか、
本当の rel=&quot;me&quot; と区別する必要はあると思うので、今のところ rel=&quot;me&quot; は難しそうだと思ったのがとりあえず。

Google Social Graph API と fooo.name:TKMR.blog.show
http://blog.tkmr.org/tatsuya/show/412-google-social-graph-api-fooo-name

fooo.name の方は、ログインした OpenID で編集してるのもあって rel=&quot;me&quot; に対応しているようだ。

神林　亮さんのプロフィール | iddy
http://iddy.jp/profile/ryo_grid/

iddy の方は、ソースを見たところ rel=&quot;me&quot; が付いてないようだけど、
付けても問題無さそうだったので、フィードバックセンターに要望しておいた。
で、XFN には他に tako3 で使えそうなのが無いようなので、FOAF にしようと。

はてなブックマーク - ヘルプ - はてなポイントを贈る
http://b.hatena.ne.jp/help/tipjar#autodiscovery

はてなの Account Auto-Discovery を参考にすると、

&lt;Person&gt;
  &lt;holdsAccount&gt;
    &lt;OnlineAccount&gt;
       &lt;accountName&gt;kanbayashi&lt;/accountName&gt;
       &lt;accountServiceHomepage rdf:resource=&quot;http://d.hatena.ne.jp/&quot; /&gt;
    &lt;/OnlineAccount&gt;
  &lt;/holdsAccount&gt;
  &lt;holdsAccount&gt;
    &lt;OnlineAccount&gt;
       &lt;accountName&gt;kanbayashi&lt;/accountName&gt;
       &lt;accountServiceHomepage rdf:resource=&quot;http://b.hatena.ne.jp/&quot; /&gt;
    &lt;/OnlineAccount&gt;
  &lt;/holdsAccount&gt;
  ...
&lt;/Person&gt;

と書けるけど、これだと URL からアカウント部分とサービスの URL を探さないといけないので、

セマンティック・マイクロブログ [11] FOAFによるマイクロブログ作者の表現
http://www.kanzaki.com/works/2008/pub/0615hww.html#s11

を参考に

&lt;Person&gt;
  &lt;holdsAccount&gt;
    &lt;OnlineAccount&gt;
      &lt;isPrimaryTopicOf rdf:resource=&quot;http://d.hatena.ne.jp/kanbayashi/&quot; /&gt;
    &lt;/OnlineAccount&gt;
  &lt;/holdsAccount&gt;
  &lt;holdsAccount&gt;
    &lt;OnlineAccount&gt;
      &lt;isPrimaryTopicOf rdf:resource=&quot;http://b.hatena.ne.jp/kanbayashi/&quot; /&gt;
    &lt;/OnlineAccount&gt;
  &lt;/holdsAccount&gt;
  ...
&lt;/Person&gt;

と書くことにして、実装してみた。

tako3 source: changeset 2caa863564a8
http://tako3.com/src?rev/2caa863564a8

http://tako3.com/foaf/http://twitter.com/ryo_grid

ただ、これを Google がクロールして、適切に貯めてくれるかどうかは、微妙だと思うけど。

Social Graph API - Google Code
http://code.google.com/apis/socialgraph/</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Twitter / ryo: @hirameki tako3がXFNやFOAFの形式...<br />
<a href="http://twitter.com/ryo_grid/statuses/859953479">http://twitter.com/ryo_grid/statuses/859953479</a> <a class="meta" href="http://app.muumoo.jp/page/#http://twitter.com/ryo_grid/statuses/859953479">→pageinfo</a><br />
<br />
＞@hirameki tako3がXFNやFOAFの形式でデータを吐いて、それをGoogleにクロールさせる。 <br />
<br />
tako3 は本人以外の投稿が主なので、rel=&quot;me&quot; は付けづらいというか、<br />
本当の rel=&quot;me&quot; と区別する必要はあると思うので、今のところ rel=&quot;me&quot; は難しそうだと思ったのがとりあえず。<br />
<br />
Google Social Graph API と fooo.name:TKMR.blog.show<br />
<a href="http://blog.tkmr.org/tatsuya/show/412-google-social-graph-api-fooo-name">http://blog.tkmr.org/tatsuya/show/412-google-social-graph-api-fooo-name</a> <a class="meta" href="http://app.muumoo.jp/page/#http://blog.tkmr.org/tatsuya/show/412-google-social-graph-api-fooo-name">→pageinfo</a><br />
<br />
fooo.name の方は、ログインした OpenID で編集してるのもあって rel=&quot;me&quot; に対応しているようだ。<br />
<br />
神林　亮さんのプロフィール | iddy<br />
<a href="http://iddy.jp/profile/ryo_grid/">http://iddy.jp/profile/ryo_grid/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://iddy.jp/profile/ryo_grid/">→pageinfo</a><br />
<br />
iddy の方は、ソースを見たところ rel=&quot;me&quot; が付いてないようだけど、<br />
付けても問題無さそうだったので、フィードバックセンターに要望しておいた。<br />
で、XFN には他に tako3 で使えそうなのが無いようなので、FOAF にしようと。<br />
<br />
はてなブックマーク - ヘルプ - はてなポイントを贈る<br />
<a href="http://b.hatena.ne.jp/help/tipjar#autodiscovery">http://b.hatena.ne.jp/help/tipjar#autodiscovery</a> <a class="meta" href="http://app.muumoo.jp/page/#http://b.hatena.ne.jp/help/tipjar#autodiscovery">→pageinfo</a><br />
<br />
はてなの Account Auto-Discovery を参考にすると、<br />
<br />
&lt;Person&gt;<br />
&nbsp;&nbsp;&lt;holdsAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;OnlineAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accountName&gt;kanbayashi&lt;/accountName&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accountServiceHomepage rdf:resource=&quot;http://d.hatena.ne.jp/&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/OnlineAccount&gt;<br />
&nbsp;&nbsp;&lt;/holdsAccount&gt;<br />
&nbsp;&nbsp;&lt;holdsAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;OnlineAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accountName&gt;kanbayashi&lt;/accountName&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accountServiceHomepage rdf:resource=&quot;http://b.hatena.ne.jp/&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/OnlineAccount&gt;<br />
&nbsp;&nbsp;&lt;/holdsAccount&gt;<br />
&nbsp;&nbsp;...<br />
&lt;/Person&gt;<br />
<br />
と書けるけど、これだと URL からアカウント部分とサービスの URL を探さないといけないので、<br />
<br />
セマンティック・マイクロブログ [11] FOAFによるマイクロブログ作者の表現<br />
<a href="http://www.kanzaki.com/works/2008/pub/0615hww.html#s11">http://www.kanzaki.com/works/2008/pub/0615hww.html#s11</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.kanzaki.com/works/2008/pub/0615hww.html#s11">→pageinfo</a><br />
<br />
を参考に<br />
<br />
&lt;Person&gt;<br />
&nbsp;&nbsp;&lt;holdsAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;OnlineAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;isPrimaryTopicOf rdf:resource=&quot;http://d.hatena.ne.jp/kanbayashi/&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/OnlineAccount&gt;<br />
&nbsp;&nbsp;&lt;/holdsAccount&gt;<br />
&nbsp;&nbsp;&lt;holdsAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;OnlineAccount&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;isPrimaryTopicOf rdf:resource=&quot;http://b.hatena.ne.jp/kanbayashi/&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/OnlineAccount&gt;<br />
&nbsp;&nbsp;&lt;/holdsAccount&gt;<br />
&nbsp;&nbsp;...<br />
&lt;/Person&gt;<br />
<br />
と書くことにして、実装してみた。<br />
<br />
tako3 source: changeset 2caa863564a8<br />
<a href="http://tako3.com/src?rev/2caa863564a8">http://tako3.com/src?rev/2caa863564a8</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/src?rev/2caa863564a8">→pageinfo</a><br />
<br />
<a href="http://tako3.com/foaf/http://twitter.com/ryo_grid">http://tako3.com/foaf/http://twitter.com/ryo_grid</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/foaf/http://twitter.com/ryo_grid">→pageinfo</a><br />
<br />
ただ、これを Google がクロールして、適切に貯めてくれるかどうかは、微妙だと思うけど。<br />
<br />
Social Graph API - Google Code<br />
<a href="http://code.google.com/apis/socialgraph/">http://code.google.com/apis/socialgraph/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://code.google.com/apis/socialgraph/">→pageinfo</a></p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2554/">2008-07-17 14:26:02</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-17T14:26:02+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2553/">
    <title> Amazon の→アフィを dp のやつにも対応させたついでに、 </title>
    <link>http://www.horaguchi.net/article.php/2553/</link>
    <description>Amazon の→アフィを dp のやつにも対応させたついでに、
URL のメタリンクに pageinfo を使うようにした。

pageinfo
http://app.muumoo.jp/page/</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Amazon の→アフィを dp のやつにも対応させたついでに、<br />
URL のメタリンクに pageinfo を使うようにした。<br />
<br />
pageinfo<br />
<a href="http://app.muumoo.jp/page/">http://app.muumoo.jp/page/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://app.muumoo.jp/page/">→pageinfo</a></p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2553/">2008-07-16 02:00:07</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-16T02:00:07+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2552/">
    <title> Amazon.co.jp： イノベーションの神話: Scott Berkun, 村上 雅章: 本 </title>
    <link>http://www.horaguchi.net/article.php/2552/</link>
    <description>Amazon.co.jp： イノベーションの神話: Scott Berkun, 村上 雅章: 本
http://www.amazon.co.jp/dp/4873113458

を売店で買った。

oreilly.co.jp -- Online Catalog: イノベーションの神話
http://www.oreilly.co.jp/books/9784873113456/

にサンプルの PDF がある。

ftp://ftp.oreilly.co.jp/download/Innovation_ch01.pdf</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Amazon.co.jp： イノベーションの神話: Scott Berkun, 村上 雅章: 本<br />
<a href="http://www.amazon.co.jp/dp/4873113458">http://www.amazon.co.jp/dp/4873113458</a> <a class="meta" href="http://www.amazon.co.jp/gp/product/4873113458?ie=UTF8&amp;linkCode=xm2&amp;tag=wwwhoraguchne-22">→アフィ</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.amazon.co.jp/dp/4873113458">→pageinfo</a><br />
<br />
を売店で買った。<br />
<br />
oreilly.co.jp -- Online Catalog: イノベーションの神話<br />
<a href="http://www.oreilly.co.jp/books/9784873113456/">http://www.oreilly.co.jp/books/9784873113456/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.oreilly.co.jp/books/9784873113456/">→pageinfo</a><br />
<br />
にサンプルの PDF がある。<br />
<br />
<a href="ftp://ftp.oreilly.co.jp/download/Innovation_ch01.pdf">ftp://ftp.oreilly.co.jp/download/Innovation_ch01.pdf</a> <a class="meta" href="http://app.muumoo.jp/page/#ftp://ftp.oreilly.co.jp/download/Innovation_ch01.pdf">→pageinfo</a></p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2552/">2008-07-16 01:52:47</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-16T01:52:47+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2551/">
    <title> json - YubNub.org </title>
    <link>http://www.horaguchi.net/article.php/2551/</link>
    <description>json - YubNub.org
http://yubnub.org/kernel/man?args=json

YubNub には、json コマンドも作られていて、
json -cmd url g test -callback tako3 みたいにすると、
tako3({&quot;cmd&quot;:&quot;url g test&quot;,&quot;data&quot;:&quot;http://www.google.com/search?q=test&quot;,&quot;url&quot;:&quot;http://yubnub.org/parser/url?command=g+test&quot;})
ってだけ表示されるページに飛ぶことができる。

StartCommand API - StartCommand ソーシャルコマンドサービス
http://www.startcommand.com/static/api

StartCommand の API は XML 形式だけど、XSLT はできそうだし、
API はあるということで、JSON が出てくる可能性も。

ただ、実際に行われる処理はそんなに難しくないので、コマンドの実行結果よりも
コマンドのソース http://www.google.com/search?q=%s が取れた方が便利そう。
ラインベースの場合、コマンドを全ての URL に実行してリンク、みたいなことはよくしそうで、
その場合、いちいちサーバにアクセスすると負荷とか処理時間とか大変そうだし。

Source for &quot;Minibuffer&quot; &amp;#8211; Userscripts.org
http://userscripts.org/scripts/review/11759

Minibuffer のコマンドは window.Minibuffer.addCommand で定義されているようなので、
正規表現でソースから抽出してきて、Firefox の関数を補足して、動くものは動きそう。
ただ、複数の関数を仕込んだような複雑のだと、実行前に必要なところだけ読み込むのは難しそうなので
ページで実行＝window.Minibuffer に一度ロードして、コマンド部分にアクセスする、のが妥当のような。

Pages tagged with &quot;shell+web&quot; on del.icio.us
http://del.icio.us/tag/shell+web

Pages tagged with &quot;command+web&quot; on del.icio.us
http://del.icio.us/tag/command+web

他にも、シェルを Web 上で行うものはあって、実装が JavaScript に限らないし、
今後出てくるものも考えると、既存のと同名のコマンドのオプションはとりあえず
man ページにあるものをそのままパクる方向で。
ただ、コマンドには標準入力以外にファイルを指定できるものがほとんどで、
対応しようとすると、URL をファイルとして扱う方法に標準的なものが無くて実装依存になるし、
-f tmp/test と --file=tmp/test の処理とかやっかいだったし、
これ共通化するライブラリ入れるならフレームワークにっていうのは多そうだけど。
引数の処理も、とにかく C と合わせるかも知れないし、
引数は第２以降、this からの他にもマップだけシェル側でしておくかも知れないし、
パイプの間も配列じゃなくて文字列にしたい人が多いかも知れない。
とりあえず cat とか grep とかあったら、似たような挙動するようには作ると思うので、
コマンド列とそこからの応用ぐらいは使えるような。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">json - YubNub.org<br />
<a href="http://yubnub.org/kernel/man?args=json">http://yubnub.org/kernel/man?args=json</a> <a class="meta" href="http://app.muumoo.jp/page/#http://yubnub.org/kernel/man?args=json">→pageinfo</a><br />
<br />
YubNub には、json コマンドも作られていて、<br />
json -cmd url g test -callback tako3 みたいにすると、<br />
tako3({&quot;cmd&quot;:&quot;url g test&quot;,&quot;data&quot;:&quot;http://www.google.com/search?q=test&quot;,&quot;url&quot;:&quot;http://yubnub.org/parser/url?command=g+test&quot;})<br />
ってだけ表示されるページに飛ぶことができる。<br />
<br />
StartCommand API - StartCommand ソーシャルコマンドサービス<br />
<a href="http://www.startcommand.com/static/api">http://www.startcommand.com/static/api</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.startcommand.com/static/api">→pageinfo</a><br />
<br />
StartCommand の API は XML 形式だけど、XSLT はできそうだし、<br />
API はあるということで、JSON が出てくる可能性も。<br />
<br />
ただ、実際に行われる処理はそんなに難しくないので、コマンドの実行結果よりも<br />
コマンドのソース http://www.google.com/search?q=%s が取れた方が便利そう。<br />
ラインベースの場合、コマンドを全ての URL に実行してリンク、みたいなことはよくしそうで、<br />
その場合、いちいちサーバにアクセスすると負荷とか処理時間とか大変そうだし。<br />
<br />
Source for &quot;Minibuffer&quot; &amp;#8211; Userscripts.org<br />
<a href="http://userscripts.org/scripts/review/11759">http://userscripts.org/scripts/review/11759</a> <a class="meta" href="http://app.muumoo.jp/page/#http://userscripts.org/scripts/review/11759">→pageinfo</a><br />
<br />
Minibuffer のコマンドは window.Minibuffer.addCommand で定義されているようなので、<br />
正規表現でソースから抽出してきて、Firefox の関数を補足して、動くものは動きそう。<br />
ただ、複数の関数を仕込んだような複雑のだと、実行前に必要なところだけ読み込むのは難しそうなので<br />
ページで実行＝window.Minibuffer に一度ロードして、コマンド部分にアクセスする、のが妥当のような。<br />
<br />
Pages tagged with &quot;shell+web&quot; on del.icio.us<br />
<a href="http://del.icio.us/tag/shell+web">http://del.icio.us/tag/shell+web</a> <a class="meta" href="http://app.muumoo.jp/page/#http://del.icio.us/tag/shell+web">→pageinfo</a><br />
<br />
Pages tagged with &quot;command+web&quot; on del.icio.us<br />
<a href="http://del.icio.us/tag/command+web">http://del.icio.us/tag/command+web</a> <a class="meta" href="http://app.muumoo.jp/page/#http://del.icio.us/tag/command+web">→pageinfo</a><br />
<br />
他にも、シェルを Web 上で行うものはあって、実装が JavaScript に限らないし、<br />
今後出てくるものも考えると、既存のと同名のコマンドのオプションはとりあえず<br />
man ページにあるものをそのままパクる方向で。<br />
ただ、コマンドには標準入力以外にファイルを指定できるものがほとんどで、<br />
対応しようとすると、URL をファイルとして扱う方法に標準的なものが無くて実装依存になるし、<br />
-f tmp/test と --file=tmp/test の処理とかやっかいだったし、<br />
これ共通化するライブラリ入れるならフレームワークにっていうのは多そうだけど。<br />
引数の処理も、とにかく C と合わせるかも知れないし、<br />
引数は第２以降、this からの他にもマップだけシェル側でしておくかも知れないし、<br />
パイプの間も配列じゃなくて文字列にしたい人が多いかも知れない。<br />
とりあえず cat とか grep とかあったら、似たような挙動するようには作ると思うので、<br />
コマンド列とそこからの応用ぐらいは使えるような。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2550/">2008-07-14 07:12:07</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-14T07:12:07+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2550/">
    <title> Creating Commands - Yubnub </title>
    <link>http://www.horaguchi.net/article.php/2550/</link>
    <description>Creating Commands - Yubnub
http://www.editthis.info/yubnub/Creating_Commands

YubNub では、コマンドと引数は基本的に、URL とそれに含まれる GET パラメータに対応しているようだ。
実際に実行するのは URL とパラメータを受け取ったアプリだけど、ユーザ側からすると
テキストボックスへのコマンドの入力、でアプリの実行結果を得られたことに。
他のコマンドへのエイリアスもあるけど、コマンドとの対応＝ソースは一行になっているようだ。
このソースを流用して YubNub もどきを作るのも簡単そうな。

Advanced Syntax for Creating Commands - YubNub.org
http://yubnub.org/documentation/describe_advanced_syntax

＞Combining Commands
＞You can now combine commands together. For example, g {random 100}.

パイプのように、出力を入力に流すときは { } で囲むようだ。
random 100 だけを実行すると乱数だけが書かれたテキストのページに飛ぶので、これは
サーバが { } 内のコマンドを実行して URL を GET して、それを引数に再度コマンドを実行する仕組みだろうか。

Golden Eggs (ge) - YubNub.org
http://yubnub.org/kernel/golden_eggs?args=

StartCommand ソーシャルコマンドサービス
http://www.startcommand.com/

ゲートウェイで変換する - StartCommand ソーシャルコマンドサービス
http://www.startcommand.com/help/gateway

＞google 人気 サイト &gt;kana &gt;pdf

 &gt; で繋げるとコマンドの第一引数に前のコマンドの実行結果が渡されるのかと思ったけど、
この kana というのは URL を渡すゲートウェイという別の機構で、名前空間も別らしい。
ということは、コマンドはまず URL を返すようになっているという。ソースも一行だった。
あんま関係無いけど、この gateway と alias のページのタイトルが今逆になっている。

Pipes: Rewire the web
http://pipes.yahoo.com/pipes/

Yahoo! Pipes は全部サーバ側で実行されるので、出力コマンドや、繋ぎにも使えそう。
GUI で部品を配置するので、複数のコマンドを繋げる操作が分かりやすく書けそう。　
HTML 以外にも RSS や JSON に対応している。
ソースは分からないので Pipes 上でだけ編集できるんだと思う。

Source for &quot;Minibuffer&quot; &amp;#8211; Userscripts.org
http://userscripts.org/scripts/review/11759

Minibuffer のコマンドは JavaScript なのもあって、コマンドは関数に対応していて、
パイプで繋げると、前の出力は次の関数の引数になる、んだと思う。
引数の名前からも標準入力・出力、ラインベースの処理なので、配列で回していくようだ。
ソースは、JavaScript。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Creating Commands - Yubnub<br />
<a href="http://www.editthis.info/yubnub/Creating_Commands">http://www.editthis.info/yubnub/Creating_Commands</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.editthis.info/yubnub/Creating_Commands">→pageinfo</a><br />
<br />
YubNub では、コマンドと引数は基本的に、URL とそれに含まれる GET パラメータに対応しているようだ。<br />
実際に実行するのは URL とパラメータを受け取ったアプリだけど、ユーザ側からすると<br />
テキストボックスへのコマンドの入力、でアプリの実行結果を得られたことに。<br />
他のコマンドへのエイリアスもあるけど、コマンドとの対応＝ソースは一行になっているようだ。<br />
このソースを流用して YubNub もどきを作るのも簡単そうな。<br />
<br />
Advanced Syntax for Creating Commands - YubNub.org<br />
<a href="http://yubnub.org/documentation/describe_advanced_syntax">http://yubnub.org/documentation/describe_advanced_syntax</a> <a class="meta" href="http://app.muumoo.jp/page/#http://yubnub.org/documentation/describe_advanced_syntax">→pageinfo</a><br />
<br />
＞Combining Commands<br />
＞You can now combine commands together. For example, g {random 100}.<br />
<br />
パイプのように、出力を入力に流すときは { } で囲むようだ。<br />
random 100 だけを実行すると乱数だけが書かれたテキストのページに飛ぶので、これは<br />
サーバが { } 内のコマンドを実行して URL を GET して、それを引数に再度コマンドを実行する仕組みだろうか。<br />
<br />
Golden Eggs (ge) - YubNub.org<br />
<a href="http://yubnub.org/kernel/golden_eggs?args=">http://yubnub.org/kernel/golden_eggs?args=</a> <a class="meta" href="http://app.muumoo.jp/page/#http://yubnub.org/kernel/golden_eggs?args=">→pageinfo</a><br />
<br />
StartCommand ソーシャルコマンドサービス<br />
<a href="http://www.startcommand.com/">http://www.startcommand.com/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.startcommand.com/">→pageinfo</a><br />
<br />
ゲートウェイで変換する - StartCommand ソーシャルコマンドサービス<br />
<a href="http://www.startcommand.com/help/gateway">http://www.startcommand.com/help/gateway</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.startcommand.com/help/gateway">→pageinfo</a><br />
<br />
＞google 人気 サイト &gt;kana &gt;pdf<br />
<br />
 &gt; で繋げるとコマンドの第一引数に前のコマンドの実行結果が渡されるのかと思ったけど、<br />
この kana というのは URL を渡すゲートウェイという別の機構で、名前空間も別らしい。<br />
ということは、コマンドはまず URL を返すようになっているという。ソースも一行だった。<br />
あんま関係無いけど、この gateway と alias のページのタイトルが今逆になっている。<br />
<br />
Pipes: Rewire the web<br />
<a href="http://pipes.yahoo.com/pipes/">http://pipes.yahoo.com/pipes/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://pipes.yahoo.com/pipes/">→pageinfo</a><br />
<br />
Yahoo! Pipes は全部サーバ側で実行されるので、出力コマンドや、繋ぎにも使えそう。<br />
GUI で部品を配置するので、複数のコマンドを繋げる操作が分かりやすく書けそう。　<br />
HTML 以外にも RSS や JSON に対応している。<br />
ソースは分からないので Pipes 上でだけ編集できるんだと思う。<br />
<br />
Source for &quot;Minibuffer&quot; &amp;#8211; Userscripts.org<br />
<a href="http://userscripts.org/scripts/review/11759">http://userscripts.org/scripts/review/11759</a> <a class="meta" href="http://app.muumoo.jp/page/#http://userscripts.org/scripts/review/11759">→pageinfo</a><br />
<br />
Minibuffer のコマンドは JavaScript なのもあって、コマンドは関数に対応していて、<br />
パイプで繋げると、前の出力は次の関数の引数になる、んだと思う。<br />
引数の名前からも標準入力・出力、ラインベースの処理なので、配列で回していくようだ。<br />
ソースは、JavaScript。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2550/">2008-07-12 18:16:57</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-12T18:16:57+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2549/">
    <title> 立方体できた。 </title>
    <link>http://www.horaguchi.net/article.php/2549/</link>
    <description>立方体できた。
http://www.horaguchi.net/files/1215701030.jpg

一本の長い紐にしてから３６個ごとに折っていって幅６個のテープを作って、
動画のように長さ６個で畳んでいったら上手く行った。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">立方体できた。<br />
<a href="http://www.horaguchi.net/files/1215701030.jpg">http://www.horaguchi.net/files/1215701030.jpg</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.horaguchi.net/files/1215701030.jpg">→pageinfo</a><br />
<br />
一本の長い紐にしてから３６個ごとに折っていって幅６個のテープを作って、<br />
動画のように長さ６個で畳んでいったら上手く行った。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2547/">2008-07-11 00:04:30</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-11T00:04:30+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2548/">
    <title> tako3 source: changeset 5b6beb6c1123 </title>
    <link>http://www.horaguchi.net/article.php/2548/</link>
    <description>tako3 source: changeset 5b6beb6c1123
http://tako3.com/src?rev/5b6beb6c1123

http://tako3.com/js/getako で、getako がロードされるタイミングを
今までの window.tako3 -&gt; json/all -&gt; window.getako から window.getako, window.tako3 -&gt; json/all
に変更したので、json/all でデータが入ったかどうか確かめるための、getako.loading プロパティを追加した。
この変更で、今まで作った２つのユーザスクリプトに影響が。

Tako Info for All Pages &amp;#8211; Userscripts.org
http://userscripts.org/scripts/show/12712

Tako Info for All Links &amp;#8211; Userscripts.org
http://userscripts.org/scripts/show/14409

前のバージョンのままだとエラーも出ずに 0 tako が頻発するので、
使っている人全員に更新を呼びかけたいんだけど、Greasemonkey には更新確認機能が無いらしい。
セキュリティホールとか、無いと大変だと思うんだけど。

Latest topics &gt; Page Concaterと日経ビジネスオンラインとGreasemonkeyと自動更新 - outsider reflex
http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/2007-04-13_pageconcater.htm

We Ain't Seen Nothin' Yet. : Greasemonkeyスクリプトに自動更新チェック機能をつける方法 改
http://blog.fulltext-search.biz/articles/2007/10/06/upgrade-automatically-checking-for-available-updates-in-greasemonkey

We Ain't Seen Nothin' Yet. : Greasemonkeyスクリプトに自動更新チェック機能をつける方法
http://blog.fulltext-search.biz/articles/2007/09/15/automatically-check-for-available-updates-in-greasemonkey

＞この更新チェック機能をあなたのGreasemonkeyスクリプトに導入するためには，
＞大きく以下の3つの手順が必要です．どれも簡単なものです．

＞   1. スクリプトの名前やダウンロードURL，詳細ページのURLなどの情報を修正
＞   2. サンプルスクリプトのコード部分を自身のスクリプトの最後に追加
＞   3. スクリプトファイルと同じディレクトリに*.user.js.versionという名前のファイルを置く</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 source: changeset 5b6beb6c1123<br />
<a href="http://tako3.com/src?rev/5b6beb6c1123">http://tako3.com/src?rev/5b6beb6c1123</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/src?rev/5b6beb6c1123">→pageinfo</a><br />
<br />
<a href="http://tako3.com/js/getako">http://tako3.com/js/getako</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/js/getako">→pageinfo</a> で、getako がロードされるタイミングを<br />
今までの window.tako3 -&gt; json/all -&gt; window.getako から window.getako, window.tako3 -&gt; json/all<br />
に変更したので、json/all でデータが入ったかどうか確かめるための、getako.loading プロパティを追加した。<br />
この変更で、今まで作った２つのユーザスクリプトに影響が。<br />
<br />
Tako Info for All Pages &amp;#8211; Userscripts.org<br />
<a href="http://userscripts.org/scripts/show/12712">http://userscripts.org/scripts/show/12712</a> <a class="meta" href="http://app.muumoo.jp/page/#http://userscripts.org/scripts/show/12712">→pageinfo</a><br />
<br />
Tako Info for All Links &amp;#8211; Userscripts.org<br />
<a href="http://userscripts.org/scripts/show/14409">http://userscripts.org/scripts/show/14409</a> <a class="meta" href="http://app.muumoo.jp/page/#http://userscripts.org/scripts/show/14409">→pageinfo</a><br />
<br />
前のバージョンのままだとエラーも出ずに 0 tako が頻発するので、<br />
使っている人全員に更新を呼びかけたいんだけど、Greasemonkey には更新確認機能が無いらしい。<br />
セキュリティホールとか、無いと大変だと思うんだけど。<br />
<br />
Latest topics &gt; Page Concaterと日経ビジネスオンラインとGreasemonkeyと自動更新 - outsider reflex<br />
<a href="http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/2007-04-13_pageconcater.htm">http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/2007-04-13_pageconcater.htm</a> <a class="meta" href="http://app.muumoo.jp/page/#http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/2007-04-13_pageconcater.htm">→pageinfo</a><br />
<br />
We Ain't Seen Nothin' Yet. : Greasemonkeyスクリプトに自動更新チェック機能をつける方法 改<br />
<a href="http://blog.fulltext-search.biz/articles/2007/10/06/upgrade-automatically-checking-for-available-updates-in-greasemonkey">http://blog.fulltext-search.biz/articles/2007/10/06/upgrade-automatically-checking-for-available-updates-in-greasemonkey</a> <a class="meta" href="http://app.muumoo.jp/page/#http://blog.fulltext-search.biz/articles/2007/10/06/upgrade-automatically-checking-for-available-updates-in-greasemonkey">→pageinfo</a><br />
<br />
We Ain't Seen Nothin' Yet. : Greasemonkeyスクリプトに自動更新チェック機能をつける方法<br />
<a href="http://blog.fulltext-search.biz/articles/2007/09/15/automatically-check-for-available-updates-in-greasemonkey">http://blog.fulltext-search.biz/articles/2007/09/15/automatically-check-for-available-updates-in-greasemonkey</a> <a class="meta" href="http://app.muumoo.jp/page/#http://blog.fulltext-search.biz/articles/2007/09/15/automatically-check-for-available-updates-in-greasemonkey">→pageinfo</a><br />
<br />
＞この更新チェック機能をあなたのGreasemonkeyスクリプトに導入するためには，<br />
＞大きく以下の3つの手順が必要です．どれも簡単なものです．<br />
<br />
＞&nbsp;&nbsp; 1. スクリプトの名前やダウンロードURL，詳細ページのURLなどの情報を修正<br />
＞&nbsp;&nbsp; 2. サンプルスクリプトのコード部分を自身のスクリプトの最後に追加<br />
＞&nbsp;&nbsp; 3. スクリプトファイルと同じディレクトリに*.user.js.versionという名前のファイルを置く</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2548/">2008-07-10 23:16:31</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-10T23:16:31+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2547/">
    <title> The NeoCube - 将来が不安 </title>
    <link>http://www.horaguchi.net/article.php/2547/</link>
    <description>The NeoCube - 将来が不安
http://d.hatena.ne.jp/ryocotan/20080501/p2
より
The NeoCube
http://www.theneocube.com/

一番上の記事で動画を見て、その日ぐらいに Google Checkout で注文したのが７月１日に発送され、
今日郵便受け見たら届いてた。

http://www.horaguchi.net/files/1215661677.jpg

このでかいのが 6x6x6 個なので、カタログのように立方体にしようとして
奮闘してたけど、諦めた。結構難しい。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">The NeoCube - 将来が不安<br />
<a href="http://d.hatena.ne.jp/ryocotan/20080501/p2">http://d.hatena.ne.jp/ryocotan/20080501/p2</a> <a class="meta" href="http://app.muumoo.jp/page/#http://d.hatena.ne.jp/ryocotan/20080501/p2">→pageinfo</a><br />
より<br />
The NeoCube<br />
<a href="http://www.theneocube.com/">http://www.theneocube.com/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.theneocube.com/">→pageinfo</a><br />
<br />
一番上の記事で動画を見て、その日ぐらいに Google Checkout で注文したのが７月１日に発送され、<br />
今日郵便受け見たら届いてた。<br />
<br />
<a href="http://www.horaguchi.net/files/1215661677.jpg">http://www.horaguchi.net/files/1215661677.jpg</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.horaguchi.net/files/1215661677.jpg">→pageinfo</a><br />
<br />
このでかいのが 6x6x6 個なので、カタログのように立方体にしようとして<br />
奮闘してたけど、諦めた。結構難しい。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2547/">2008-07-10 13:37:35</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-10T13:37:35+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2546/">
    <title> www.horaguchi.net - Command.js </title>
    <link>http://www.horaguchi.net/article.php/2546/</link>
    <description>www.horaguchi.net - Command.js
http://www.horaguchi.net/js_command/

タグをインポート・エクスポートするのに
とりあえず feed を使うことに決めた、のがもう一ヶ月以上前。
エクスポートは feed を書き出せばいいだけで簡単なんだけど、
インポートは feed を取ってこないといけないので、どうしようか悩んでいた。
feed の表示には Google AJAX Feed API を使っていたので、
それを使えばまだクロールしなくて良さそうなのでそれで何とか、
view や bookmarks や copy と同じように実装するついでに、貯まってきたし、ある程度共通化もしようと。

どれも、tako3 api から受け取ったリストを、エントリーやテキストのリストに変換する系だったので
それぞれの機能を pipe みたいに繋げられるようにしようとは思ってたけど、
Google AJAX Feed API が callback を取ってロード時に実行する、非同期系なので割と面倒臭かった。
どうすれば簡単になるか考えて結局、関数の返値じゃなくて返オブジェクトの、
loading プロパティが false になるまでずっと setTimeout で監視する実装にした。
ので、基本的に配列を受け取って配列を返す関数を組み合わせることに。
ずっと setTimeout で監視するならどうせと全部 createElement('script') で読み込むようにしたので、別鯖のも。

Command.js を使って view や bookmarks を組み立て直すと、
実行する HTML を分ける必要が無いように見えたので、専用ページを１つにしてコマンド列を引数にしようと。
コマンドなので専用ページの API はコマンドプロンプトに似せようと思って、最初、
http://tako3.com/$head%2010%7Cshuffle%7Cview#http://www.horaguchi.net/ みたいに考えてたけど、
これだとコマンド列ごとに別の HTML と認識されるし、コマンドがサーバで実行されるように見えるので
hash は #cat%20http://tako3.com/http://www.horaguchi.net/%7Chead%2010%7Cshuffle%7Cview と与えるように。
# がプロンプトにも見えるので http://tako3.com/#cat%20http://tako3.com/http://www.horaguchi.net/%7Chead%2010%7Cshuffle%7Cview
にしようとしたけど、よく使うトップページが重くなりそうなのでやめて、
ページの名前を shell にしようか prompt にしようか悩んだけど、
分かりやすさを考えて command に。

大きく、hash では http://www.horaguchi.net/ だったのが
cat コマンドの引数で http://tako3.com/http://www.horaguchi.net/ になっていて、これは今まで
tako3 から引いた結果が [ ] だったら与えられた URL の feed をそのまま表示してたものを、
tako3 に feed を作ったのもあって、tako3 に限らず、引数の feed のリスト、という形に一般化しようと思ったため。
結果、tako3 以外から引く場合、例えば cat http://del.icio.us/horaguchi | view とやると
ブックマークされた記事１つ１つの feed を取ってきて表示し始めるので、
今までの、与えられた URL の feed をそのまま表示、するコマンドは
echo http://del.icio.us/horaguchi | view みたいな。

bookmarks は名前から出力が分かりにくいので list に改名した。
autoreload も関数にして、最後に繋げる cat http://tako3.com/http:/www.horaguchi.net/ | view | autoreload ことで
だいたいオートリロードできるように。
bookmarks で使っていた cookie 用の textarea は、データがあることを考えてそのまま、
これは cookie コマンドで取得できて、入力があった場合は設定もできるように。
cat コマンドは引数が http:.//tako3.com/* の場合は feed の代わりに jsonp で代用するんだけど、
インポートに使う copy コマンドではタグと API との兼ね合いからどちらも feed で取得するように。
それぞれ、feed をとるのは googlefeed、tako3 jsonp は getako3 というコマンドで、
getako3 の方は分かりやすいのかどうか微妙だけど。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">www.horaguchi.net - Command.js<br />
<a href="http://www.horaguchi.net/js_command/">http://www.horaguchi.net/js_command/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.horaguchi.net/js_command/">→pageinfo</a><br />
<br />
タグをインポート・エクスポートするのに<br />
とりあえず feed を使うことに決めた、のがもう一ヶ月以上前。<br />
エクスポートは feed を書き出せばいいだけで簡単なんだけど、<br />
インポートは feed を取ってこないといけないので、どうしようか悩んでいた。<br />
feed の表示には Google AJAX Feed API を使っていたので、<br />
それを使えばまだクロールしなくて良さそうなのでそれで何とか、<br />
view や bookmarks や copy と同じように実装するついでに、貯まってきたし、ある程度共通化もしようと。<br />
<br />
どれも、tako3 api から受け取ったリストを、エントリーやテキストのリストに変換する系だったので<br />
それぞれの機能を pipe みたいに繋げられるようにしようとは思ってたけど、<br />
Google AJAX Feed API が callback を取ってロード時に実行する、非同期系なので割と面倒臭かった。<br />
どうすれば簡単になるか考えて結局、関数の返値じゃなくて返オブジェクトの、<br />
loading プロパティが false になるまでずっと setTimeout で監視する実装にした。<br />
ので、基本的に配列を受け取って配列を返す関数を組み合わせることに。<br />
ずっと setTimeout で監視するならどうせと全部 createElement('script') で読み込むようにしたので、別鯖のも。<br />
<br />
Command.js を使って view や bookmarks を組み立て直すと、<br />
実行する HTML を分ける必要が無いように見えたので、専用ページを１つにしてコマンド列を引数にしようと。<br />
コマンドなので専用ページの API はコマンドプロンプトに似せようと思って、最初、<br />
<a href="http://tako3.com/$head%2010%7Cshuffle%7Cview#http://www.horaguchi.net/">http://tako3.com/$head%2010%7Cshuffle%7Cview#http://www.horaguchi.net/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/$head%2010%7Cshuffle%7Cview#http://www.horaguchi.net/">→pageinfo</a> みたいに考えてたけど、<br />
これだとコマンド列ごとに別の HTML と認識されるし、コマンドがサーバで実行されるように見えるので<br />
hash は #cat%20http://tako3.com/http://www.horaguchi.net/%7Chead%2010%7Cshuffle%7Cview と与えるように。<br />
# がプロンプトにも見えるので http://tako3.com/#cat%20http://tako3.com/http://www.horaguchi.net/%7Chead%2010%7Cshuffle%7Cview<br />
にしようとしたけど、よく使うトップページが重くなりそうなのでやめて、<br />
ページの名前を shell にしようか prompt にしようか悩んだけど、<br />
分かりやすさを考えて command に。<br />
<br />
大きく、hash では http://www.horaguchi.net/ だったのが<br />
cat コマンドの引数で http://tako3.com/http://www.horaguchi.net/ になっていて、これは今まで<br />
tako3 から引いた結果が [ ] だったら与えられた URL の feed をそのまま表示してたものを、<br />
tako3 に feed を作ったのもあって、tako3 に限らず、引数の feed のリスト、という形に一般化しようと思ったため。<br />
結果、tako3 以外から引く場合、例えば cat http://del.icio.us/horaguchi | view とやると<br />
ブックマークされた記事１つ１つの feed を取ってきて表示し始めるので、<br />
今までの、与えられた URL の feed をそのまま表示、するコマンドは<br />
echo http://del.icio.us/horaguchi | view みたいな。<br />
<br />
bookmarks は名前から出力が分かりにくいので list に改名した。<br />
autoreload も関数にして、最後に繋げる cat http://tako3.com/http:/www.horaguchi.net/ | view | autoreload ことで<br />
だいたいオートリロードできるように。<br />
bookmarks で使っていた cookie 用の textarea は、データがあることを考えてそのまま、<br />
これは cookie コマンドで取得できて、入力があった場合は設定もできるように。<br />
cat コマンドは引数が http:.//tako3.com/* の場合は feed の代わりに jsonp で代用するんだけど、<br />
インポートに使う copy コマンドではタグと API との兼ね合いからどちらも feed で取得するように。<br />
それぞれ、feed をとるのは googlefeed、tako3 jsonp は getako3 というコマンドで、<br />
getako3 の方は分かりやすいのかどうか微妙だけど。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2546/">2008-07-07 08:27:47</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-07T08:27:47+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2545/">
    <title> tako3 の textarea に onchange=&quot;if(this.value.slice(-1)!='\n'){this.value+='\n'}&quot; を付け足して、末尾が改行になるようにした。... </title>
    <link>http://www.horaguchi.net/article.php/2545/</link>
    <description>tako3 の textarea に onchange=&quot;if(this.value.slice(-1)!='\n'){this.value+='\n'}&quot; を付け足して、末尾が改行になるようにした。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 の textarea に onchange=&quot;if(this.value.slice(-1)!='\n'){this.value+='\n'}&quot; を付け足して、末尾が改行になるようにした。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2545/">2008-07-03 00:45:48</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-07-03T00:45:48+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2544/">
    <title> サイリューム - Wikipedia </title>
    <link>http://www.horaguchi.net/article.php/2544/</link>
    <description>サイリューム - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0

＞シュウ酸ジフェニルと過酸化水素との混合溶液の化学発光により蛍光を放つ。

夜店でよく見る例のブレスレット。

シュウ酸ジフェニル - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%82%A6%E9%85%B8%E3%82%B8%E3%83%95%E3%82%A7%E3%83%8B%E3%83%AB

＞シュウ酸ジフェニルと蛍光色素 (dye) との混合物に過酸化水素（濃度約35%）が混ざると、
＞シュウ酸ジフェニルが過酸化水素で酸化されながら分解し、
＞2分子のフェノールと1分子の過シュウ酸エステル (ROOC-COOOH) が生じる。
＞過シュウ酸エステルはさらに酸化を受けて 1,2-ジオキセタンジオン（図の四員環化合物）となる。
＞1,2-ジオキセタンジオンは自発的に分解して2分子の二酸化炭素に変わるが、
＞このときに蛍光色素にエネルギーを与えて励起させる[2]。
＞励起された蛍光色素はエネルギーを光 (hν) として放出しながら基底状態に戻る。

とのこと。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">サイリューム - Wikipedia<br />
<a href="http://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0">http://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0</a> <a class="meta" href="http://app.muumoo.jp/page/#http://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0">→pageinfo</a><br />
<br />
＞シュウ酸ジフェニルと過酸化水素との混合溶液の化学発光により蛍光を放つ。<br />
<br />
夜店でよく見る例のブレスレット。<br />
<br />
シュウ酸ジフェニル - Wikipedia<br />
<a href="http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%82%A6%E9%85%B8%E3%82%B8%E3%83%95%E3%82%A7%E3%83%8B%E3%83%AB">http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%82%A6%E9%85%B8%E3%82%B8%E3%83%95%E3%82%A7%E3%83%8B%E3%83%AB</a> <a class="meta" href="http://app.muumoo.jp/page/#http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%82%A6%E9%85%B8%E3%82%B8%E3%83%95%E3%82%A7%E3%83%8B%E3%83%AB">→pageinfo</a><br />
<br />
＞シュウ酸ジフェニルと蛍光色素 (dye) との混合物に過酸化水素（濃度約35%）が混ざると、<br />
＞シュウ酸ジフェニルが過酸化水素で酸化されながら分解し、<br />
＞2分子のフェノールと1分子の過シュウ酸エステル (ROOC-COOOH) が生じる。<br />
＞過シュウ酸エステルはさらに酸化を受けて 1,2-ジオキセタンジオン（図の四員環化合物）となる。<br />
＞1,2-ジオキセタンジオンは自発的に分解して2分子の二酸化炭素に変わるが、<br />
＞このときに蛍光色素にエネルギーを与えて励起させる[2]。<br />
＞励起された蛍光色素はエネルギーを光 (hν) として放出しながら基底状態に戻る。<br />
<br />
とのこと。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2544/">2008-06-18 03:51:01</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-06-18T03:51:01+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2543/">
    <title> diff O(np) javascript implementation &amp;laquo; ku </title>
    <link>http://www.horaguchi.net/article.php/2543/</link>
    <description>diff O(np) javascript implementation &amp;laquo; ku
http://ido.nu/kuma/2007/10/01/diff-onp-javascript-implementation/

に Unified Diff で出力する関数をくっつけた。

www.horaguchi.net - JavaScript unidiff
http://www.horaguchi.net/js_unidiff/

元々、

John Resig - Javascript Diff Algorithm
http://ejohn.org/projects/javascript-diff-algorithm/

ここのを弄ってたんだけど、test.html の例みたいなときの動作が怪しかったのと

google-diff-match-patch - Google Code
http://code.google.com/p/google-diff-match-patch/

これをラインベースにする方法が分からなかったので。
Unified Diff と言っても引数はテキストそのものなので +++ --- は出力してない。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">diff O(np) javascript implementation &amp;laquo; ku<br />
<a href="http://ido.nu/kuma/2007/10/01/diff-onp-javascript-implementation/">http://ido.nu/kuma/2007/10/01/diff-onp-javascript-implementation/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://ido.nu/kuma/2007/10/01/diff-onp-javascript-implementation/">→pageinfo</a><br />
<br />
に Unified Diff で出力する関数をくっつけた。<br />
<br />
www.horaguchi.net - JavaScript unidiff<br />
<a href="http://www.horaguchi.net/js_unidiff/">http://www.horaguchi.net/js_unidiff/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://www.horaguchi.net/js_unidiff/">→pageinfo</a><br />
<br />
元々、<br />
<br />
John Resig - Javascript Diff Algorithm<br />
<a href="http://ejohn.org/projects/javascript-diff-algorithm/">http://ejohn.org/projects/javascript-diff-algorithm/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://ejohn.org/projects/javascript-diff-algorithm/">→pageinfo</a><br />
<br />
ここのを弄ってたんだけど、test.html の例みたいなときの動作が怪しかったのと<br />
<br />
google-diff-match-patch - Google Code<br />
<a href="http://code.google.com/p/google-diff-match-patch/">http://code.google.com/p/google-diff-match-patch/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://code.google.com/p/google-diff-match-patch/">→pageinfo</a><br />
<br />
これをラインベースにする方法が分からなかったので。<br />
Unified Diff と言っても引数はテキストそのものなので +++ --- は出力してない。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2543/">2008-06-16 10:36:43</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-06-16T10:36:43+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2542/">
    <title> はてなブックマーク - ポール・マッカートニー取調室 / 2008年06月06 </title>
    <link>http://www.horaguchi.net/article.php/2542/</link>
    <description>はてなブックマーク - ポール・マッカートニー取調室 / 2008年06月06日
http://b.hatena.ne.jp/otsune/20080606#bookmark-8855807
より
[観] 複数のソーシャルブックマークサイトに重複投稿されているコメントがうざい件
http://watcher.moe-nifty.com/memo/2008/06/socialbookmark.html

tako3 bookmarks では 同じエントリがあるとタイトルがいつも並んで表示されてたりするので、
投稿時間が同じ場合同じエントリと判断して１つにまとめるようにしている。
それでも、del.icio.us とはてブとか、複数のサービスをまたいで投稿してるようなもの、
マルチポストは微妙にタイムスタンプが違うので、いつも並んで表示されたり。
投稿時間がある程度近い記事に絞って getako すればいいかとも思ったけれど、
network や favorite や watchlist から見る記事には使えないから結局。
これに対応するためには、feed の URL とエントリの author から、author 固有の URL、
tako3 に使えるような URL を別途導けるようなリストを作る必要が。
ただその場合、feed の URL とエントリの正しい author、両方とも知ってないと DB から引けないけれど。
前書いたラボブログのも似た感じで。
今のところは、AND が使える NG ワード機能で一人ずつ。

そもそもなんで SBS はマルチポストするのかと考えると、
URL からブックマークを引いたり、network や favorite や watchlist みたいのを作るのが、
フィードがある割に１つのサービス内で完結してるのが多いからかな、と。
マルチポストするのは面倒そうだから、する必要が無い方向に行く気がするので、
NG ワード機能みたいに手作業でもなんとかなるかなと思ったんだけど、これが
違うサービスでもまとめて見れる、じゃなくて、
他のブックマークにも同時に投稿できる、みたいな方向だと、どんどん増えていきそうな。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">はてなブックマーク - ポール・マッカートニー取調室 / 2008年06月06日<br />
<a href="http://b.hatena.ne.jp/otsune/20080606#bookmark-8855807">http://b.hatena.ne.jp/otsune/20080606#bookmark-8855807</a> <a class="meta" href="http://app.muumoo.jp/page/#http://b.hatena.ne.jp/otsune/20080606#bookmark-8855807">→pageinfo</a><br />
より<br />
[観] 複数のソーシャルブックマークサイトに重複投稿されているコメントがうざい件<br />
<a href="http://watcher.moe-nifty.com/memo/2008/06/socialbookmark.html">http://watcher.moe-nifty.com/memo/2008/06/socialbookmark.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://watcher.moe-nifty.com/memo/2008/06/socialbookmark.html">→pageinfo</a><br />
<br />
tako3 bookmarks では 同じエントリがあるとタイトルがいつも並んで表示されてたりするので、<br />
投稿時間が同じ場合同じエントリと判断して１つにまとめるようにしている。<br />
それでも、del.icio.us とはてブとか、複数のサービスをまたいで投稿してるようなもの、<br />
マルチポストは微妙にタイムスタンプが違うので、いつも並んで表示されたり。<br />
投稿時間がある程度近い記事に絞って getako すればいいかとも思ったけれど、<br />
network や favorite や watchlist から見る記事には使えないから結局。<br />
これに対応するためには、feed の URL とエントリの author から、author 固有の URL、<br />
tako3 に使えるような URL を別途導けるようなリストを作る必要が。<br />
ただその場合、feed の URL とエントリの正しい author、両方とも知ってないと DB から引けないけれど。<br />
前書いたラボブログのも似た感じで。<br />
今のところは、AND が使える NG ワード機能で一人ずつ。<br />
<br />
そもそもなんで SBS はマルチポストするのかと考えると、<br />
URL からブックマークを引いたり、network や favorite や watchlist みたいのを作るのが、<br />
フィードがある割に１つのサービス内で完結してるのが多いからかな、と。<br />
マルチポストするのは面倒そうだから、する必要が無い方向に行く気がするので、<br />
NG ワード機能みたいに手作業でもなんとかなるかなと思ったんだけど、これが<br />
違うサービスでもまとめて見れる、じゃなくて、<br />
他のブックマークにも同時に投稿できる、みたいな方向だと、どんどん増えていきそうな。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2542/">2008-06-08 20:29:24</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-06-08T20:29:24+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2541/">
    <title> ラボブログみたいな、複数の人が持ち回りで書いてるやつは、 </title>
    <link>http://www.horaguchi.net/article.php/2541/</link>
    <description>ラボブログみたいな、複数の人が持ち回りで書いてるやつは、
読みたい内容のものも多いんだけど、tako3 には追加しにくいというか、
そもそも誰が書いてるのか明らかにされてないことがあって、
書いてあっても、個人別ページへのリンクは無かったりして。
リンクがあってもプロフィールだけだったり、個人の記事がまとまってなかったり、
まとまってても feed は全体のだけだったり、そして、記事の URL に
その URL が含まれる http://blog.example.com/AUTHOR/2008/06/03/kiji.html ことは更に少なくて、
だいたい http://blog.example.com/2008/06/03/kiji.html みたいのが多くて、
http://blog.example.com/ と AUTHOR を別に関連付ける必要があって。
これは気持ち的なものかとも思ったけれど、ブログツールの仕様が大きいような気がする。

実際にそういう仕様のラボブログは見ないけど、既存のブログサービスでは
http://blog.example.com/AUTHOR/2008/06/03/kiji.html みたいな URL は別に珍しくないから、
その流れで http://blog.example.com/ に全体の新着記事と feed と検索窓付けてデザインをそれっぽくすれば、
そういう仕様のブログになって便利のような。突っ込んだはてグルみたいな。

これは、たまたま tako3 が人別のグルーピングを基本にしていて、
前方一致での簡易フィルタ機能がそこそこ機能してそうだからどうせならってだけなので、
同様に、http://blog.example.com/AUTHOR/perl/game/2008/06/03/kiji.html って感じで
カテゴリやタグも URL に追加すれば便利かとも思ったけれど、
順不同では前方一致での簡易フィルタには使えないので、
検索対象に URL 文字列も含むような検索をするときぐらいしか。
タグを編集したい、ってのに対応しにくいのもあって。
feed が全件配信してればいいんだけど。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">ラボブログみたいな、複数の人が持ち回りで書いてるやつは、<br />
読みたい内容のものも多いんだけど、tako3 には追加しにくいというか、<br />
そもそも誰が書いてるのか明らかにされてないことがあって、<br />
書いてあっても、個人別ページへのリンクは無かったりして。<br />
リンクがあってもプロフィールだけだったり、個人の記事がまとまってなかったり、<br />
まとまってても feed は全体のだけだったり、そして、記事の URL に<br />
その URL が含まれる http://blog.example.com/AUTHOR/2008/06/03/kiji.html ことは更に少なくて、<br />
だいたい http://blog.example.com/2008/06/03/kiji.html みたいのが多くて、<br />
<a href="http://blog.example.com/">http://blog.example.com/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://blog.example.com/">→pageinfo</a> と AUTHOR を別に関連付ける必要があって。<br />
これは気持ち的なものかとも思ったけれど、ブログツールの仕様が大きいような気がする。<br />
<br />
実際にそういう仕様のラボブログは見ないけど、既存のブログサービスでは<br />
<a href="http://blog.example.com/AUTHOR/2008/06/03/kiji.html">http://blog.example.com/AUTHOR/2008/06/03/kiji.html</a> <a class="meta" href="http://app.muumoo.jp/page/#http://blog.example.com/AUTHOR/2008/06/03/kiji.html">→pageinfo</a> みたいな URL は別に珍しくないから、<br />
その流れで http://blog.example.com/ に全体の新着記事と feed と検索窓付けてデザインをそれっぽくすれば、<br />
そういう仕様のブログになって便利のような。突っ込んだはてグルみたいな。<br />
<br />
これは、たまたま tako3 が人別のグルーピングを基本にしていて、<br />
前方一致での簡易フィルタ機能がそこそこ機能してそうだからどうせならってだけなので、<br />
同様に、http://blog.example.com/AUTHOR/perl/game/2008/06/03/kiji.html って感じで<br />
カテゴリやタグも URL に追加すれば便利かとも思ったけれど、<br />
順不同では前方一致での簡易フィルタには使えないので、<br />
検索対象に URL 文字列も含むような検索をするときぐらいしか。<br />
タグを編集したい、ってのに対応しにくいのもあって。<br />
feed が全件配信してればいいんだけど。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2541/">2008-06-04 23:17:09</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-06-04T23:17:09+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2540/">
    <title> Twitter検索 : タグ </title>
    <link>http://www.horaguchi.net/article.php/2540/</link>
    <description>Twitter検索 : タグ
http://twitter.1x1.jp/search/?source=&amp;keyword=%E3%82%BF%E3%82%B0&amp;lang=&amp;text=1
より
Big Sky :: twitterユーザに対してタグ付け出来るウェブサービス「Tagtter」作った。
http://mattn.kaoriya.net/software/lang/python/20080519102721.htm
より
Tagtter - Find twitter's fun on tag cloud!
http://mattn.appspot.com/tagtter/

真ん中より引用すると

＞lomoさんが言ってた
＞＞caramel*vanilla &amp;raquo; Twitterユーザーにタグ付けするWebサービスが欲しい
＞＞共通点のあるユーザーを効率的に探したい
＞＞... 誰かなんとかしてくれませんか？
＞＞http://caramel-tea.com/2008/05/twitter_tagging/
＞を作ってみた。

とのこと。今のところ Twitter 専門のようだけど、
記事ごとでなく、サイトごとにタグを付けるシステムで、
こういうサイトがでてきたってことは、tako3 に
タグをインポート・エクスポートできる仕組みを追加する必要が。
タグ付けするシステムとしては SBS の他にも、
flickr や YouTube もタグを付けられるようになってるので、
そこらからタグをインポートすることを考えると、feed に書き出すのが妥当な気も。
どうせ feed には書き出しそうというのもあって。
サイト別に記事を分類できる SBS なら、feed からタグの活用も。

tako3 hatebu tagging: http://mattn.kaoriya.net/
http://tako3.com/hatebutagging#http://mattn.kaoriya.net/

はてブの人気エントリのタグランキング。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">Twitter検索 : タグ<br />
<a href="http://twitter.1x1.jp/search/?source=&amp;keyword=%E3%82%BF%E3%82%B0&amp;lang=&amp;text=1">http://twitter.1x1.jp/search/?source=&amp;keyword=%E3%82%BF%E3%82%B0&amp;lang=&amp;text=1</a> <a class="meta" href="http://app.muumoo.jp/page/#http://twitter.1x1.jp/search/?source=&amp;keyword=%E3%82%BF%E3%82%B0&amp;lang=&amp;text=1">→pageinfo</a><br />
より<br />
Big Sky :: twitterユーザに対してタグ付け出来るウェブサービス「Tagtter」作った。<br />
<a href="http://mattn.kaoriya.net/software/lang/python/20080519102721.htm">http://mattn.kaoriya.net/software/lang/python/20080519102721.htm</a> <a class="meta" href="http://app.muumoo.jp/page/#http://mattn.kaoriya.net/software/lang/python/20080519102721.htm">→pageinfo</a><br />
より<br />
Tagtter - Find twitter's fun on tag cloud!<br />
<a href="http://mattn.appspot.com/tagtter/">http://mattn.appspot.com/tagtter/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://mattn.appspot.com/tagtter/">→pageinfo</a><br />
<br />
真ん中より引用すると<br />
<br />
＞lomoさんが言ってた<br />
＞＞caramel*vanilla &amp;raquo; Twitterユーザーにタグ付けするWebサービスが欲しい<br />
＞＞共通点のあるユーザーを効率的に探したい<br />
＞＞... 誰かなんとかしてくれませんか？<br />
＞＞http://caramel-tea.com/2008/05/twitter_tagging/<br />
＞を作ってみた。<br />
<br />
とのこと。今のところ Twitter 専門のようだけど、<br />
記事ごとでなく、サイトごとにタグを付けるシステムで、<br />
こういうサイトがでてきたってことは、tako3 に<br />
タグをインポート・エクスポートできる仕組みを追加する必要が。<br />
タグ付けするシステムとしては SBS の他にも、<br />
flickr や YouTube もタグを付けられるようになってるので、<br />
そこらからタグをインポートすることを考えると、feed に書き出すのが妥当な気も。<br />
どうせ feed には書き出しそうというのもあって。<br />
サイト別に記事を分類できる SBS なら、feed からタグの活用も。<br />
<br />
tako3 hatebu tagging: http://mattn.kaoriya.net/<br />
<a href="http://tako3.com/hatebutagging#http://mattn.kaoriya.net/">http://tako3.com/hatebutagging#http://mattn.kaoriya.net/</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/hatebutagging#http://mattn.kaoriya.net/">→pageinfo</a><br />
<br />
はてブの人気エントリのタグランキング。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2540/">2008-05-20 20:29:54</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-05-20T20:29:54+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2539/">
    <title> tako3 source:copy.php </title>
    <link>http://www.horaguchi.net/article.php/2539/</link>
    <description>tako3 source:copy.php
http://tako3.com/src?file/3a77a4507083/copy.php

tako3 copy を実装した。

tako3 copy: group/generation1986.g.hatena/search/twitter.com
http://tako3.com/copy#group/generation1986.g.hatena/search/twitter.com

なんか URL をコピーしたいときに。
あと、ログインしてると自分の tako にコピーもできる。
今のところ、URL とそのグループ、ではなくて、その URL だけ、をコピーするので、
update all とかしなければグループの他の URL はコピーされない。更新情報も弄らないので、
コピーしたからと言って contributor の上の方に表示されるわけじゃないし、
tako3 recent にも上がってこない、という。

tako3 copy: all/join/web/http://del.icio.us/horaguchi
http://tako3.com/copy#all/join/web/http://del.icio.us/horaguchi

copy のフォームだけは、改行の他にスペース単位でも URL を認識するように。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 source:copy.php<br />
<a href="http://tako3.com/src?file/3a77a4507083/copy.php">http://tako3.com/src?file/3a77a4507083/copy.php</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/src?file/3a77a4507083/copy.php">→pageinfo</a><br />
<br />
tako3 copy を実装した。<br />
<br />
tako3 copy: group/generation1986.g.hatena/search/twitter.com<br />
<a href="http://tako3.com/copy#group/generation1986.g.hatena/search/twitter.com">http://tako3.com/copy#group/generation1986.g.hatena/search/twitter.com</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/copy#group/generation1986.g.hatena/search/twitter.com">→pageinfo</a><br />
<br />
なんか URL をコピーしたいときに。<br />
あと、ログインしてると自分の tako にコピーもできる。<br />
今のところ、URL とそのグループ、ではなくて、その URL だけ、をコピーするので、<br />
update all とかしなければグループの他の URL はコピーされない。更新情報も弄らないので、<br />
コピーしたからと言って contributor の上の方に表示されるわけじゃないし、<br />
tako3 recent にも上がってこない、という。<br />
<br />
tako3 copy: all/join/web/http://del.icio.us/horaguchi<br />
<a href="http://tako3.com/copy#all/join/web/http://del.icio.us/horaguchi">http://tako3.com/copy#all/join/web/http://del.icio.us/horaguchi</a> <a class="meta" href="http://app.muumoo.jp/page/#http://tako3.com/copy#all/join/web/http://del.icio.us/horaguchi">→pageinfo</a><br />
<br />
copy のフォームだけは、改行の他にスペース単位でも URL を認識するように。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2539/">2008-05-16 17:54:43</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-05-16T17:54:43+09:00</dc:date>
  </item>
  <item rdf:about="http://www.horaguchi.net/article.php/2538/">
    <title> tako3 のグループ数が 2009 になった。URL は 8037 ぐらい。 </title>
    <link>http://www.horaguchi.net/article.php/2538/</link>
    <description>tako3 のグループ数が 2009 になった。URL は 8037 ぐらい。</description>
    <content:encoded>
      <![CDATA[
<p class="mes">tako3 のグループ数が 2009 になった。URL は 8037 ぐらい。</p>
<p class="date"><a class="date" href="http://www.horaguchi.net/article.php/2371/">2008-05-13 12:38:53</a></p>
      ]]>
    </content:encoded>
    <dc:date>2008-05-13T12:38:53+09:00</dc:date>
  </item>
</rdf:RDF>
