tako3 のグループ数が 3017 になった。URL は 12070 ぐらい。

2008-08-23 20:28:06


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 →pageinfo

ソースを見てみるとやっぱりそれっぽい。未圧縮なら読み書きできるかもと思って
よく見ると 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 するのは面倒そう。

2008-08-14 20:07:50


tako3 source: changeset ec29fa3f8495
http://tako3.com/src?rev/ec29fa3f8495 →pageinfo

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

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

だいたいこれを参考にしたけど、
onmousewheel をメインにして、効かないときは DOMMouseScroll のが使われるように。
効かないとき、て Firefox だけど、そのうち onmousewheel も使えるようになるかも知れないから、
onmousewheel が呼ばれたときに DOMMouseScroll を無効にするようにした。
ので、IE 6, 7 と Firefox 2, 3 と Opera 9.5 と Safari 3.1.2 で一応。

2008-08-11 07:35:15


tako3 copy
http://tako3.com/home/add →pageinfo

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

また、public tako を変更することなく、タグを付けることもできる。
これを使って、前に少し調べたのと iddy とハチロク世代にあった生年情報をタグにしてみた。
一応、公開されてるのに書かれてたものだけ。

2008-08-08 11:04:18


del.icio.us が delicious.com になったようなので

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

を実行した。その内 del.icio.us の方は消すかも。

2008-08-03 18:22:17


Googleの検索結果をフィルタリングできる「&as_qdr」オプションとは? | IDEA*IDEA
http://www.ideaxidea.com/archives/2008/04/googleas_qdr.html →pageinfo

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

デフォルトで表示されて欲しいけど。

2008-07-30 17:16:56


はてなダイアリーへのリンクの URL で、末尾のスラッシュを抜かして書く人がいるけれど、それだと

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

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 →pageinfo

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

>"http://d.hatena.ne.jp/horaguchi"

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

>"http://d.hatena.ne.jp/horaguchi/"

Pathtraq のはそういう正規化では無いらしい。

2008-07-30 14:08:49


Favicon API (ファビコン) α版
http://favicon.aruko.net/ →pageinfo

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

http://tako3.com/favicon.js →pageinfo

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 →pageinfo

ただ、こんな風に使っていいものなのかどうか。

2008-07-29 23:22:21


だいたい、リンクは 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)})() →pageinfo

けど、単に見辛いと思う。

2008-07-29 22:42:49


Welcome to Adobe GoLive 5
http://aozoragaigo.fc2web.com/kiroku/how.html →pageinfo

できた。
http://www.horaguchi.net/files/1217273770.jpg →pageinfo

2008-07-29 04:37:05


キーボードのカーソルの上下で履歴を辿れるようにした。
キーボードを使った操作は、GreaseMonkey もあるだろうし、そんなに使うようには作ってないんだけど、
簡単なキーマッピングなら Rogueliki のをそのまま使えるので、これぐらいは一応という。
ログインしてないと意味無いけど。

はてなブックマーク - COLLECTION & COPY / 2008年07月24日
http://b.hatena.ne.jp/brazil/20080724#bookmark-9410508 →pageinfo
より
Greasemonkey: tinyshell.user.js - mayokara note
http://mayokara.info/note/view/307 →pageinfo

>Minibufferとの差異

>    * 標準出力を表示できる
>    * 付属コマンドが違う
>    * 補完機能がしょぼい
>          o 一応TABを押せば全コマンドから絞り込みをかけた結果が出ます
>    * コマンドの返り値が配列ではなく文字列

あんま関係無いけど、
これもコマンドが実行できるらしく、文字列を受け渡しするようになっている。

>    calc: function(STDIN, ARGV, $0){
>        var stmt = (ARGV.length > 0) ? ARGV.join(" ") : STDIN.replace(/\s+/g, " ");
>        try {
>            with (Math) { return eval(stmt); }
>        } catch(e) {
>            throw $0 + ": " + e;
>        }
>    },

$0 でエラーハンドリングみたいなことをしてるんだろうか。
繋がりで、Jarminal という言葉が。

Jarminal - termial of JavaScript on browser
http://labs.37to.net/docs/ver0.01/jarminal.html →pageinfo

今のところ、ブラウザに依存しない汎用デバッグツールのような位置付けらしい。
資料の中で、他の JavaScript のシェル実装の概略も。

>jarminal.command.list.mycommand = {
>    desc : 'my command',

>    /**
>     * 引数には入力された
>     * コマンドの情報が
>     * オブジェクトとして入ってくる
>     */
>    func : function(input){ /* code */  }
>};

jsh
http://www.asahi-net.or.jp/~xe4r-kmt/jsh/jsh.html →pageinfo

コマンド列の1つ1つが、既存のページやアプリケーションに対応していると考えると、
コマンド列をただ呼び出すだけなら、それはランチャーみたいなもので、
手順が共通化されて履歴や補完があったとしても、
キーボードで文字列を入力させる必要はやっぱり無さそうというか、
アイコンをクリックとかショートカットキーとかマウスジェスチャの方が便利そう。
やっぱり引数やパイプやもろもろで、今までのそういう操作をまた操作できるってところが。
ショートカットキーやアイコンをクリックやマウスジェスチャでも、
設定すれば操作の操作はできるし、実際、コマンドでも履歴から辿ることが多いと思うんだけど、
コマンドになると、それがステートレスになって、履歴に残るので、検索とか共有とか。
別にコードとか URL とか他の表現でも、表現できるならそこは同じだけど。

2008-07-29 12:48:06


tako3 command を location.hash 無しで読んだときに、
実行したコマンドのリストを表示して、それをクリックすることで実行できるようにした。
保存も表示も、ログインしてないとしないけど。

2008-07-28 02:58:14


Manpage of GREP
http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html →pageinfo

Manpage of CUT
http://www.linux.or.jp/JM/html/GNU_textutils/man1/cut.1.html →pageinfo

それぞれ、grep.js cut.js として、今は使いそうなオプションだけ、とりあえず実装した。

http://tako3.com/grep.js →pageinfo
http://tako3.com/cut.js →pageinfo

http://tako3.com/command#cat%20http://del.icio.us/horaguchi →pageinfo
http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20grep%20com →pageinfo
http://tako3.com/command#cat%20http://del.icio.us/horaguchi%20|%20cut%20-f2- →pageinfo

grep は NG ワード機能の代替として使う気だったので、-f と -v をつけた。

http://tako3.com/command#cat%20http://twitter.com/horaguchi%20|%20grep%20-v%20-f%20http://del.icio.us/horaguchi →pageinfo

この -f は内部では Command.js で cat を呼んでいて、
cat は http://tako3.com/* のときは getako3 -feed、それ以外は googlefeed | gfselect link categories
で URL からテキストを取得している。今のところ。

http://tako3.com/cat.js →pageinfo
http://tako3.com/getako3.js →pageinfo
http://tako3.com/googlefeed.js →pageinfo
http://tako3.com/gfselect.js →pageinfo

この 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 →pageinfo

>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 →pageinfo

こういう 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 →pageinfo
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

上のリンクで含む記事を、下のリンクで含まない記事を見れる。
list や view で返されるのは最終的な、innerHTML に代入するための HTML を含んだ文字列の配列なので、
それを grep すると概要・題名・中身をまとめて検索していることに。

2008-07-22 21:52:51


Twitter / ryo: @hirameki tako3がXFNやFOAFの形式...
http://twitter.com/ryo_grid/statuses/859953479 →pageinfo

>@hirameki tako3がXFNやFOAFの形式でデータを吐いて、それをGoogleにクロールさせる。

tako3 は本人以外の投稿が主なので、rel="me" は付けづらいというか、
本当の rel="me" と区別する必要はあると思うので、今のところ rel="me" は難しそうだと思ったのがとりあえず。

Google Social Graph API と fooo.name:TKMR.blog.show
http://blog.tkmr.org/tatsuya/show/412-google-social-graph-api-fooo-name →pageinfo

fooo.name の方は、ログインした OpenID で編集してるのもあって rel="me" に対応しているようだ。

神林 亮さんのプロフィール | iddy
http://iddy.jp/profile/ryo_grid/ →pageinfo

iddy の方は、ソースを見たところ rel="me" が付いてないようだけど、
付けても問題無さそうだったので、フィードバックセンターに要望しておいた。
で、XFN には他に tako3 で使えそうなのが無いようなので、FOAF にしようと。

はてなブックマーク - ヘルプ - はてなポイントを贈る
http://b.hatena.ne.jp/help/tipjar#autodiscovery →pageinfo

はてなの Account Auto-Discovery を参考にすると、

<Person>
  <holdsAccount>
    <OnlineAccount>
       <accountName>kanbayashi</accountName>
       <accountServiceHomepage rdf:resource="http://d.hatena.ne.jp/" />
    </OnlineAccount>
  </holdsAccount>
  <holdsAccount>
    <OnlineAccount>
       <accountName>kanbayashi</accountName>
       <accountServiceHomepage rdf:resource="http://b.hatena.ne.jp/" />
    </OnlineAccount>
  </holdsAccount>
  ...
</Person>

と書けるけど、これだと URL からアカウント部分とサービスの URL を探さないといけないので、

セマンティック・マイクロブログ [11] FOAFによるマイクロブログ作者の表現
http://www.kanzaki.com/works/2008/pub/0615hww.html#s11 →pageinfo

を参考に

<Person>
  <holdsAccount>
    <OnlineAccount>
      <isPrimaryTopicOf rdf:resource="http://d.hatena.ne.jp/kanbayashi/" />
    </OnlineAccount>
  </holdsAccount>
  <holdsAccount>
    <OnlineAccount>
      <isPrimaryTopicOf rdf:resource="http://b.hatena.ne.jp/kanbayashi/" />
    </OnlineAccount>
  </holdsAccount>
  ...
</Person>

と書くことにして、実装してみた。

tako3 source: changeset 2caa863564a8
http://tako3.com/src?rev/2caa863564a8 →pageinfo

http://tako3.com/foaf/http://twitter.com/ryo_grid →pageinfo

ただ、これを Google がクロールして、適切に貯めてくれるかどうかは、微妙だと思うけど。

Social Graph API - Google Code
http://code.google.com/apis/socialgraph/ →pageinfo

2008-07-17 14:26:02


Amazon の→アフィを dp のやつにも対応させたついでに、
URL のメタリンクに pageinfo を使うようにした。

pageinfo
http://app.muumoo.jp/page/ →pageinfo

2008-07-16 02:00:07


Amazon.co.jp: イノベーションの神話: Scott Berkun, 村上 雅章: 本
http://www.amazon.co.jp/dp/4873113458 →アフィ →pageinfo

を売店で買った。

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

にサンプルの PDF がある。

ftp://ftp.oreilly.co.jp/download/Innovation_ch01.pdf →pageinfo

2008-07-16 01:52:47


json - YubNub.org
http://yubnub.org/kernel/man?args=json →pageinfo

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

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

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

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

Source for "Minibuffer" &#8211; Userscripts.org
http://userscripts.org/scripts/review/11759 →pageinfo

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

Pages tagged with "shell+web" on del.icio.us
http://del.icio.us/tag/shell+web →pageinfo

Pages tagged with "command+web" on del.icio.us
http://del.icio.us/tag/command+web →pageinfo

他にも、シェルを Web 上で行うものはあって、実装が JavaScript に限らないし、
今後出てくるものも考えると、既存のと同名のコマンドのオプションはとりあえず
man ページにあるものをそのままパクる方向で。
ただ、コマンドには標準入力以外にファイルを指定できるものがほとんどで、
対応しようとすると、URL をファイルとして扱う方法に標準的なものが無くて実装依存になるし、
-f tmp/test と --file=tmp/test の処理とかやっかいだったし、
これ共通化するライブラリ入れるならフレームワークにっていうのは多そうだけど。
引数の処理も、とにかく C と合わせるかも知れないし、
引数は第2以降、this からの他にもマップだけシェル側でしておくかも知れないし、
パイプの間も配列じゃなくて文字列にしたい人が多いかも知れない。
とりあえず cat とか grep とかあったら、似たような挙動するようには作ると思うので、
コマンド列とそこからの応用ぐらいは使えるような。

2008-07-14 07:12:07


Creating Commands - Yubnub
http://www.editthis.info/yubnub/Creating_Commands →pageinfo

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

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

>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= →pageinfo

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

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

>google 人気 サイト >kana >pdf

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

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

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

Source for "Minibuffer" &#8211; Userscripts.org
http://userscripts.org/scripts/review/11759 →pageinfo

Minibuffer のコマンドは JavaScript なのもあって、コマンドは関数に対応していて、
パイプで繋げると、前の出力は次の関数の引数になる、んだと思う。
引数の名前からも標準入力・出力、ラインベースの処理なので、配列で回していくようだ。
ソースは、JavaScript。

2008-07-12 18:16:57


立方体できた。
http://www.horaguchi.net/files/1215701030.jpg →pageinfo

一本の長い紐にしてから36個ごとに折っていって幅6個のテープを作って、
動画のように長さ6個で畳んでいったら上手く行った。

2008-07-11 00:04:30


tako3 source: changeset 5b6beb6c1123
http://tako3.com/src?rev/5b6beb6c1123 →pageinfo

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

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

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

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

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

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

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

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

>   1. スクリプトの名前やダウンロードURL,詳細ページのURLなどの情報を修正
>   2. サンプルスクリプトのコード部分を自身のスクリプトの最後に追加
>   3. スクリプトファイルと同じディレクトリに*.user.js.versionという名前のファイルを置く

2008-07-10 23:16:31


The NeoCube - 将来が不安
http://d.hatena.ne.jp/ryocotan/20080501/p2 →pageinfo
より
The NeoCube
http://www.theneocube.com/ →pageinfo

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

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

このでかいのが 6x6x6 個なので、カタログのように立方体にしようとして
奮闘してたけど、諦めた。結構難しい。

2008-07-10 13:37:35


www.horaguchi.net - Command.js
http://www.horaguchi.net/js_command/ →pageinfo

タグをインポート・エクスポートするのに
とりあえず 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 を分ける必要が無いように見えたので、専用ページを1つにしてコマンド列を引数にしようと。
コマンドなので専用ページの API はコマンドプロンプトに似せようと思って、最初、
http://tako3.com/$head%2010%7Cshuffle%7Cview#http://www.horaguchi.net/ →pageinfo みたいに考えてたけど、
これだとコマンド列ごとに別の 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 とやると
ブックマークされた記事1つ1つの 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 の方は分かりやすいのかどうか微妙だけど。

2008-07-07 08:27:47


tako3 の textarea に onchange="if(this.value.slice(-1)!='\n'){this.value+='\n'}" を付け足して、末尾が改行になるようにした。

2008-07-03 00:45:48


サイリューム - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0 →pageinfo

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

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

シュウ酸ジフェニル - 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 →pageinfo

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

とのこと。

2008-06-18 03:51:01


diff O(np) javascript implementation &laquo; ku
http://ido.nu/kuma/2007/10/01/diff-onp-javascript-implementation/ →pageinfo

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

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

元々、

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

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

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

これをラインベースにする方法が分からなかったので。
Unified Diff と言っても引数はテキストそのものなので +++ --- は出力してない。

2008-06-16 10:36:43


はてなブックマーク - ポール・マッカートニー取調室 / 2008年06月06日
http://b.hatena.ne.jp/otsune/20080606#bookmark-8855807 →pageinfo
より
[観] 複数のソーシャルブックマークサイトに重複投稿されているコメントがうざい件
http://watcher.moe-nifty.com/memo/2008/06/socialbookmark.html →pageinfo

tako3 bookmarks では 同じエントリがあるとタイトルがいつも並んで表示されてたりするので、
投稿時間が同じ場合同じエントリと判断して1つにまとめるようにしている。
それでも、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 みたいのを作るのが、
フィードがある割に1つのサービス内で完結してるのが多いからかな、と。
マルチポストするのは面倒そうだから、する必要が無い方向に行く気がするので、
NG ワード機能みたいに手作業でもなんとかなるかなと思ったんだけど、これが
違うサービスでもまとめて見れる、じゃなくて、
他のブックマークにも同時に投稿できる、みたいな方向だと、どんどん増えていきそうな。

2008-06-08 20:29:24


ラボブログみたいな、複数の人が持ち回りで書いてるやつは、
読みたい内容のものも多いんだけど、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/ →pageinfo と AUTHOR を別に関連付ける必要があって。
これは気持ち的なものかとも思ったけれど、ブログツールの仕様が大きいような気がする。

実際にそういう仕様のラボブログは見ないけど、既存のブログサービスでは
http://blog.example.com/AUTHOR/2008/06/03/kiji.html →pageinfo みたいな URL は別に珍しくないから、
その流れで http://blog.example.com/ に全体の新着記事と feed と検索窓付けてデザインをそれっぽくすれば、
そういう仕様のブログになって便利のような。突っ込んだはてグルみたいな。

これは、たまたま tako3 が人別のグルーピングを基本にしていて、
前方一致での簡易フィルタ機能がそこそこ機能してそうだからどうせならってだけなので、
同様に、http://blog.example.com/AUTHOR/perl/game/2008/06/03/kiji.html って感じで
カテゴリやタグも URL に追加すれば便利かとも思ったけれど、
順不同では前方一致での簡易フィルタには使えないので、
検索対象に URL 文字列も含むような検索をするときぐらいしか。
タグを編集したい、ってのに対応しにくいのもあって。
feed が全件配信してればいいんだけど。

2008-06-04 23:17:09


Twitter検索 : タグ
http://twitter.1x1.jp/search/?source=&keyword=%E3%82%BF%E3%82%B0&lang=&text=1 →pageinfo
より
Big Sky :: twitterユーザに対してタグ付け出来るウェブサービス「Tagtter」作った。
http://mattn.kaoriya.net/software/lang/python/20080519102721.htm →pageinfo
より
Tagtter - Find twitter's fun on tag cloud!
http://mattn.appspot.com/tagtter/ →pageinfo

真ん中より引用すると

>lomoさんが言ってた
>>caramel*vanilla &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/ →pageinfo

はてブの人気エントリのタグランキング。

2008-05-20 20:29:54


tako3 source:copy.php
http://tako3.com/src?file/3a77a4507083/copy.php →pageinfo

tako3 copy を実装した。

tako3 copy: group/generation1986.g.hatena/search/twitter.com
http://tako3.com/copy#group/generation1986.g.hatena/search/twitter.com →pageinfo

なんか 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 →pageinfo

copy のフォームだけは、改行の他にスペース単位でも URL を認識するように。

2008-05-16 17:54:43


tako3 のグループ数が 2009 になった。URL は 8037 ぐらい。

2008-05-13 12:38:53


OpenIDを使ってみよう:CodeZine
http://codezine.jp/a/article/aid/1356.aspx?p=2 →pageinfo

>OpenIDの入力フォームにはOpenIDのロゴをつけるようにしましょう。
>OpenID Authentication 1.1 の 3.2 章でそのことが記載されています。
>またCSSは次のように定義すると良いでしょう。

OpenID のログインフォームにアイコンを付けた。

tako3 OpenID
http://tako3.com/openid/ →pageinfo

白の背景にしか合わなかったので勝手にそれっぽいアイコンを作った。

2008-05-10 17:01:41


Add a Link to Hatena's Logo &#8211; Userscripts.org
http://userscripts.org/scripts/show/26037 →pageinfo

>www.hatena.ne.jp -> www.hatena.ne.jp/sample

デスクトップで使ってたやつだけどノートの方に持って行くのが面倒で
ずっと URL を書き換えて見てたけどいい加減面倒になったので。

2008-05-06 22:39:30


tako3 source:COPYING
http://tako3.com/src?file/def6faf167d0/COPYING →pageinfo

一応 Public Domain を明記。

2008-05-04 11:55:26


tako3 source:update_contributor.php
http://tako3.com/src?file/e50f126b2908/update_contributor.php →pageinfo

home/update を実装した。

2008-05-02 07:44:48


tako3 にログインしていると見れる tako3 home の仕様を変えた。
前のソースの SQL は

tako3 source:home.php
http://tako3.com/src?file/3ad42f884c76/home.php →pageinfo

みたいに UNION を使ってまで無理矢理全部取ってきて
結局 PHP 側で後処理させるっていうものだったんだけど、それは

・全員側で一緒でもユーザ側で分割されてたら別グループ
・全員側のグループになくてもユーザ側のグループにあったら全員側と一緒に表示
・全員側で別グループでユーザ側で一緒なら一緒グループ
・全員側にあってユーザ側にないアドレスを色付ける
・ユーザ側にあって全員側にないアドレスもその内色付けたい

みたいに、ユーザ側の編集を全員側と独立させて行った場合に配慮するためで。
でも、そもそも使ってみるとユーザ側も全員側も同時に編集するしかないし、
home で何を表示してるのかもよくわからなくなってしまった気がする。
なので、基本的にグループの数を全員側とユーザ側で同じだと考えて、
全員側の更新順でグループを表示させるように変更した。
ていうか home では全員側に無いアドレスが表示されないっていう。

tako3 source:home.php
http://tako3.com/src?file/3212f5b3d7e9/home.php →pageinfo

そうすると全員側に無いアドレスがユーザ側にあった場合に
home には表示されないので hide = ユーザ側からの削除ができなくなるけど、
それは後で home./update とか書いて。

2008-04-30 17:16:06


404 を買った。
前買った 404 の尻ポケに穴が空いたので、財布と小銭入れの左右を逆にしたんだけど
穴が広がってきて財布すら落ちそうになってきたため。

2008-04-29 14:31:03


Radio Soulwax Live-get Yer Yoyo's Out!: Pt.3【CD】-2 Many Dj's/音楽/HMV
http://www.hmv.co.jp/product/detail/2714584 →pageinfo

Booming Back At You(3ボーナストラック)【CD】-Junkie Xl/音楽/HMV
http://www.hmv.co.jp/product/detail/2694770 →pageinfo

を買った。

2008-04-25 06:35:14


4Gamer.net ― 4Gamerの1週間を振り返る「Weekly 4Gamer」4月12日〜4月18日分
http://www.4gamer.net/games/040/G004099/20080419001/ →pageinfo
より
4Gamer.net ― 爆走レース「TrackMania Nations Forever」,無料ダウンロード開始(TrackMania Nations Forever)
http://www.4gamer.net/games/048/G004822/20080417040/ →pageinfo
より
TrackMania
http://www.trackmania.com/en/index.php?lang=en&rub=nations →pageinfo

TrackMania Nations Forever が無料になっていたらしい。

2008-04-21 05:03:06


tako3 api の json で callback を指定できるようにした。

http://tako3.com/json+feed/contributor/horaguchi/http://alpha.mixi.co.jp/blog/?author=12&callback=tako4 →pageinfo

これに伴って .htaccess にある mod_rewrite の

RewriteRule ^json.feed/http.*$ get_json.php?f=1 [L]

みたいのを

RewriteRule ^json.feed/http.*$ get_json.php?f=1 [L,QSA]

のように変えた。今までは URL が持っている GET パラメタは見る必要が無かったけど、
$_GET['f'] と $_GET['callback'] を同時に使うためは QSA する必要が。
mod_rewrite 側で callback 入れるのも考えたけど、
どうせ $_SERVER['REQUEST_URI'] から .callback=.* を取る処理も入れるので。

mod_rewrite - QSAフラグ - とみぞーノート
http://wiki.bit-hive.com/tomizoo/pg/mod_rewrite%20-%20QSA%A5%D5%A5%E9%A5%B0 →pageinfo

これで callback= を含む URL を json api の引数にすることが。

2008-04-19 18:44:20


ページサイズが大きすぎてエラーが起きるようなので100件を1件に。
100件もあったのは C-f で事足りるためだったんだけど、検索窓を使うことの方が。

2008-03-20 14:17:03


TMNations で Advanced Training にブロンズ付けた。
http://www.horaguchi.net/files/1204469347.jpg →pageinfo

2008-03-02 23:54:04


IE7 だと画像も。
http://www.horaguchi.net/files/1201056335.png →pageinfo

2008-01-23 11:46:11


Vista の IE7 だと Rakucopy が使えないようなので、簡易 bookmarklet。
javascript:(function(b){b.innerHTML='<textarea%20rows="2"%20cols="100"%20onfocus="this.select()">'+document.title+'\n'+location.href+'</textarea>'+b.innerHTML})(document.body) →pageinfo

2008-01-23 11:37:29


正月に注文した Dell の Inspiron 1420 が届いた。
http://www.horaguchi.net/files/1200853105.jpg →pageinfo

OS は Windows Vista Ultimate にした。
LAN ケーブルを買ってきて、B フレッツで使ってる RV-230NE に繋いだけど、
フレッツ接続ツールだと片方が繋いでるときは繋げないようなので、
RV-230NE 側で常時接続の設定をしたら両方ネットに繋がった。
あと、キーボードは英語配列で注文したんだけど、
日本語入力、というか IME 時に 106 キーボードになるので

hard で loxse な日々  2007-12
http://papalagi.org/diary/200712.html#eid894 →pageinfo

>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
>LayerDriver JPN にある kbd106.dll を kbd101.dll に変更。
>OverrideKeyboardIdentifier にある pcat-106key を pcat-101key に変更。
>OverrideKeyboardSubtype にある 2 を 0 に変更。

を参考に、104 キーボードに書き換えた。
その下にある caps ctrl の交換は

中道左派で行こう Windows VistaでCaps LockキーとCtrlキーを入れ替えるには
http://www.center-left.com/blog/archives/2007/02/windows_vistacaps_lockctrl.html →pageinfo

ここにあった .reg をそのまま。で、これはノートからの投稿。

2008-01-21 03:31:52


The Mercurial June 2006 Archive by thread
http://www.selenic.com/pipermail/mercurial/2006-June/thread.html#8565 →pageinfo
より
mercurial as a wiki engine component
http://www.selenic.com/pipermail/mercurial/2006-June/008608.html →pageinfo
より
ikiwiki
http://ikiwiki.info/ →pageinfo

>Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website.
>Ikiwiki stores pages and history in a revision control system such as Subversion or Git.
>There are many other features, including support for blogging, as well as a large array of plugins.

VCS を使った wiki engine のようだ。OpenID も使われてるような。

Revision Control Systems
http://ikiwiki.info/rcs/ →pageinfo

基本的には subversion を使う実装で、plugin を書くことで他の VCS に対応できるらしい。
mercurial もリストに一応。

MOONGIFT: &raquo; ikiwiki:オープンソースを毎日紹介
http://www.moongift.jp/2006/12/3070/ →pageinfo

>Wikiエンジンと言うと、常に動的にページを生成しているので動作が重たいと言う印象がある。
>また、動的生成の場合はプログラムのミスなどでデータが消失する可能性もある。
>全てに問題をなくそうと思ったら、静的生成がベストだ。

>とは言え動的生成の道をなくしてしまうのも勿体無い。それぞれのニーズに合わせられるのがikiwikiだ。

>ikiwikiはPerlで作られたオープンソース・ソフトウェアで、MarkDownを記法と採用している。
>テキストエディタなどで記述後、コマンドラインで実行するとHTMLファイルを生成してくれる。

void GraphicWizardsLair( void ); // テキストファイルにページごとの文章を保存するWikiエンジンなら、そのテキストをSubversionやCVSで管理すれば編集衝突の回避や履歴管理が楽になるな
http://www.otsune.com/diary/2006/08/24/1.html#200608241 →pageinfo

2008-01-12 22:57:19


join/opml を join/web に改名した。
http://tako3.com/json/all/join/web/http://reader.livedoor.com/user/koji_horaguchi/opml →pageinfo
http://tako3.com/json/contributor/horaguchi/all/join/web/http://reader.livedoor.com/user/koji_horaguchi/opml →pageinfo

ついでに指定した URL のテキストの URL を返すだけの json/web を実装した。
http://tako3.com/json/web/http://www.horaguchi.net/ →pageinfo

2008-01-11 00:00:21


コミックダッシュ! - 集めているコミックの新刊をオートマチェック!
http://ckworks.jp/comicdash/ →pageinfo

前に本棚.org で漫画だけ管理しようとしてみたことがあるけど、その頃もうあったようだ。

デジモノに埋もれる日々: 所有コミック管理と新刊チェック、「コミックダッシュ!」お試し版のサービス開始
http://c-kom.homeip.net/review/blog/archives/2007/04/post_328.html →pageinfo

バッジみたいのを見かけたので使ってみると、
検索→シリーズ→まとめて登録できて結構楽のような。

コミックダッシュ! - horaguchi のプロフィール
http://ckworks.jp/comicdash/profile/horaguchi →pageinfo

挙げてみたら思ったよりも少なかった。手元に無いのでうろ覚えだけど。
それでどれをどこまで買ったか忘れることが結構多いので、新刊カレンダーが便利そう。

2008-01-09 08:55:50


tako3 のソースは今まで、Free Subversion Hosting の Unfuddle に上げてたんだけど、
ソースを公開する方法が見当たらなくて、そのままになっていた。
Mercurial が目についたので、移行して公開してみることに。

インストール
http://www.lares.dti.ne.jp/~foozy/fujiguruma/scm/mercurial-install.html →pageinfo
より
BinaryPackages - Mercurial
http://www.selenic.com/mercurial/wiki/index.cgi/BinaryPackages →pageinfo
より
Mercurial binary packages for Windows and Mac OS X
http://mercurial.berkwood.com/ →pageinfo
より
http://mercurial.berkwood.com/binaries/Mercurial-0.9.5.exe →pageinfo

を落としてきてインストール。

ConvertExtension - Mercurial
http://www.selenic.com/mercurial/wiki/index.cgi/ConvertExtension →pageinfo

Nabble - Mercurial - Windows binaries and hg convert from Subversion
http://www.nabble.com/Windows-binaries-and-hg-convert-from-Subversion-td14408815.html →pageinfo

hg convert がまだ失敗するようなので

Python Package Index : hgsvn 0.1.5
http://cheeseshop.python.org/pypi/hgsvn →pageinfo

hgsvn を使おうと

Python標準リリース
http://www.python.jp/Zope/download/pythoncore →pageinfo
より
http://www.python.jp/pub/ftp.python.org/python/2.5/python-2.5.msi →pageinfo

をインストールして

EasyInstall - The PEAK Developers' Center
http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions →pageinfo
より
http://peak.telecommunity.com/dist/ez_setup.py →pageinfo

を落としてきて実行して $ easy_install.exe hgsvn でインストールした。で

$ hgsvn http://horaguchi.unfuddle.com/svn/horaguchi_tako3/
$ cd horaguchi_tako3
$ hgpullsvn

でできた .hg をサーバにあげた。で

XREAでMercurialをインストール | Sarabande
http://sarabande.info/2008/01/04/xrea%e3%81%a7mercurial%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/ →pageinfo

を参考にサーバに Mercurial を入れようとしたけど、
XREA+ だとシェルが使えないようなので CORESERVER のお試しを使って、

$ wget http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz
$ tar xvzf mercurial-0.9.5.tar.gz
$ cd mercurial-0.9.5
$ python setup.py install --home=~

できた lib と bin を XREA+ の方に上げ直した。で

Pythonで分散バージョン管理#web
http://python.matrix.jp/modules/mercurial.html →pageinfo

を参考に mercurial-0.9.5 に入ってた hgweb.cgi を弄ったのと、
さっき作った .hg も一緒に上げたらとりあえず動いた。

tako3 source: shortlog
http://tako3.com/src →pageinfo

$ hg clone http://tako3.com/src tako3

で取れるようだ。

CORESERVER のお試しで作ったものを一応。
http://www.horaguchi.net/files/hg0.9.5_20080109.zip →pageinfo

2008-01-09 06:41:14


SSDとは - NE用語 - Tech-On!
http://techon.nikkeibp.co.jp/article/WORD/20060807/119999/ →pageinfo

>読み:ソリッドステートドライブ

>磁気ディスクの代わりに半導体メモリにデータを記録するストレージ装置のこと。

とのこと。

2008-01-08 03:24:01


Amazon.co.jp: SQLパズル 第2版 プログラミングが変わる書き方/考え方: 本: ジョー・セルコ,Joe Celko,ミック
http://www.amazon.co.jp/exec/obidos/ASIN/4798114138/ →アフィ →pageinfo

を買った。

2008-01-04 14:01:45


平成20年。

2008-01-01 07:02:59


all に join/opml 機能をつけた。
http://tako3.com/json/all/join/opml/http://reader.livedoor.com/user/koji_horaguchi/opml →pageinfo
http://tako3.com/json/contributor/horaguchi/all/join/opml/http://reader.livedoor.com/user/koji_horaguchi/opml →pageinfo

指定された URL のテキストに含まれる "(http.*?)" を URL と見なして、
その URL に前方一致する URL を含んだグループを返すだけだから
OPML である必要は別に無いけど。

2007-12-27 23:14:19


tako3 recent
http://tako3.com/recent →pageinfo

tako3 group へのリンクを。

2007-12-18 07:56:17


ドアクローザ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%89%E3%82%A2%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B6 →pageinfo
より
ドアクローザー取付販売
http://www.meiwa-shinomiya.com/f.html →pageinfo
http://www.meiwa-shinomiya.com/door.swf →pageinfo

ドアをゆっくり閉めるやつ。

2007-12-12 00:58:45


tako3 api
http://tako3.com/api →pageinfo

contributor 系も実装してよくわからなくなってきたので HTML にした。

2007-12-06 20:53:25


Amazon.co.jp: I Love Techno 2007: 音楽: Various Artists
http://www.amazon.co.jp/exec/obidos/ASIN/B000W4W2TG/ →アフィ →pageinfo

が届いた。

2007-12-02 12:19:35


クマを手に入れた。
http://www.horaguchi.net/files/1196442020.jpg →pageinfo

2007-12-01 02:00:45


PHP: session_decode - Manual
http://jp2.php.net/session_decode →pageinfo

特定のキーを持つセッションを削除する PHP。

if ($d = opendir(session_save_path())) {
  while ($file = readdir($d)) {
    if ( $file == '.' or $file == '..' ) {
      continue;
    }
    $result = array();
    $pairs = preg_split('/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff^|]*)\|/',
                        file_get_contents(session_save_path() . '/' . $file),
                        -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
    for ($i = 0; $pairs[$i]; ++$i) {
      $result[$pairs[$i]] = unserialize($pairs[++$i]);
    }
    if ($result['id'] == 'hogehoge') {
      file_put_contents(session_save_path() . '/' . $file, '');
    }
  }
}

2007-11-29 06:49:17


はてなブックマーク - COLLECTION & COPY
http://b.hatena.ne.jp/brazil/ →pageinfo
より
JSAN消滅 - 檜山正幸のキマイラ飼育記
http://d.hatena.ne.jp/m-hiyama/20071124/1195869132 →pageinfo

>ドメイン名openjsan.orgは、pairNICというドメイン名登録会社の管理下になっているようです。

とのこと。Rogueliki では JSAN.js を使ってるので気になる。

SourceForge.net Repository - [rogueliki] View of /Rogueliki/trunk/lib/JSAN.js
http://rogueliki.svn.sourceforge.net/viewvc/rogueliki/Rogueliki/trunk/lib/JSAN.js?view=markup →pageinfo

最初は、面倒だから別ファイルに分けることもないかな、と思ったんだけど
そうするとアイテムやプレイヤーみたいなデータスクリプトを
後から増やしていくのが煩雑になるだろうと思って、動的にロードする仕組みを持つことにした。
まず document.createElement('script') にしようと思ったけど
非同期だとコードが読みにくくなりそうなのででやめて、
document.write('<script src=""></script>') にしようと思ったけど、
最初にしかロードできないようなのでやめた。
で、XMLHttpRequest で持ってきて eval ってことにしたんだけど、
document.createElement('script') や document.write('<script src=""></script>') みたいに
別ドメインのスクリプトもライブラリとして読み込みたかったので
予め <script src=""></script> で読み込んでおけるように
URL とライブラリを関連付ける処理を作って、
読み込むときに大域変数を汚染しないように function の中で eval するために
ライブラリとインポートする名前を関連付ける処理を作ったら、
ほとんど JSAN.js だったからほとんどそのまま使うことにした。
今はまだ一行、XMLHttpRequest の status チェックの修正だけでそのまま動くけど、
開発が止まった上で大規模な修正が必要になったり、
JSAN.js の利用が止められたりした場合は適当な名前でライブラリを作り直す必要があるかも。

2007-11-27 06:37:43


灰汁 それが 私 そのうち買って手元に置いておきたい本:図解:近接武器
http://lye.blog.shinobi.jp/Entry/249/ →pageinfo
より
Amazon.co.jp: 図解 近接武器 (F-Files): 本: 大波 篤司
http://www.amazon.co.jp/exec/obidos/ASIN/4775304933/ →アフィ →pageinfo
より
Amazon.co.jp: 武器事典: 本: 市川 定春
http://www.amazon.co.jp/exec/obidos/ASIN/4883172791/ →アフィ →pageinfo

が届いた。

2007-11-25 12:18:07


Welcome to OpenID Enabled!
http://openidenabled.com/php-openid/ →pageinfo

これの 2.0.0-rc5 を XREA で動かそうと思ったので
php-openid-2.0.0-rc5.zip を落とした。
ログインできればいいので、ライブラリの Auth と
examples の consumer の中身だけ持ってきて

openid/Auth
openid/Auth/***
openid/common.php
openid/finish_auth.php
openid/index.php
openid/try_auth.php

とコピーして動かす、と

>Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator.

エラーがでるので

PHPでOpenIDによるログイン処理 - Apelog
http://blog.apecell.com/archives/335423.html →pageinfo

を参考に common.php の一番上に

define('Auth_OpenID_RAND_SOURCE', NULL);

を足して、あとパーミッションが無いので
同じく common.php の中の getStore 関数の

    $store_path = "/tmp/_php_consumer_test";



    $store_path = "tmp";

に直し、openid/tmp を作ってパーミッションを開けた。
すると server に飛んで認証するとこまで行くようだけど必ず

>OpenID authentication failed: Server denied check_authentication

と失敗するので、
自動的に作られる openid/tmp 内の associations nonces temp を一旦削除して
FFFTP で associations nonces temp を作り直してパーミッション開けたら動くようになった。

2007-11-24 22:41:37


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

SBS とか、tako が表示されていないリンク一覧を整形するための。
tako があれば (2 tako) をリンクの後ろにくっつけて、無ければ何も。

Source for "Tako Info for All Links" &#8211; Userscripts.org
http://userscripts.org/scripts/review/14409 →pageinfo

javascript:(function(){var%20s=document.createElement('script');s.src='http://userscripts.org/scripts/source/14409.user.js';document.body.appendChild(s)})() →pageinfo

createElement('script') で追加すれば bookmarklet に。
ここのトップページで30秒ぐらいかかったので、bookmarklet で使う方が。

Source for "Tako Info for All Pages" &#8211; Userscripts.org
http://userscripts.org/scripts/review/12712 →pageinfo

javascript:(function(){var%20s=document.createElement('script');s.src='http://userscripts.org/scripts/source/12712.user.js';document.body.appendChild(s)})() →pageinfo

前のも。

2007-11-22 23:47:43


Twitter / koyachi: gyazowinはこちら http://nothing...
http://twitter.com/koyachi/statuses/431354362 →pageinfo
より
area[nothing] : diary &raquo; Gyazowin 2007/11/11
http://nothing.sh/blog/archives/44 →pageinfo

>というわけで、Gyazo: 画像の楽々アップロード のWindows版クライアントができました。

とのこと。

楽々アップロードできて便利。
http://gyazo.com/0a3feac10371fa9b74244d75eb016114.png →pageinfo

Gyazo
http://gyazo.com/ →pageinfo

>Macの画面上の領域をマウスドラッグで選択すると、
>選択した領域が画像としてWebにアップロードされてブラウザに表示されます。

2007-11-21 19:05:47


js_picker.js へのリンクが js_pikcer.js になっていた。
間違え直した記憶が無いんだけど、最初からずっとこうだったんだろうか。

2007-11-19 03:21:06


Object とか、全部誰でも書き込めるってのは無理がありそうなので、会員システムを。
tako3 で一応動くっぽいのが確認できたので OpenID とすると、
とりあえず管理人 - 幾つかの OpenID - その他 OpenID - その他みたいに分けられそう。
管理人も OpenID なら、特定の OpenID - その他 OpenID - その他みたいに略せるかも。
read 制限は、読む度に処理挟むことか考えると今は置いとくとして
Page と Object それぞれの編集を考えると最低 2 つは権限が必要で、
それぞれの招待・退会機能で更に 2 個ぐらい欲しいような。
すると招退機能の招退機能が欲しくなって更に 2 個ってそこはもう admin とかにまとめても。
それで authority 機能、というか会員情報をテキストにするんだけど
1つのファイルに id (機能1 | 機能2 | 機能3 | 機能4)\n と並べるか、
機能1のファイルに id\n、機能2のファイルに id\n と並べるかで悩んで、とりあえず後者にした。
自分ができること一覧とか見る場合は前者の方が楽そうなんだけど、
id と機能、って2つの情報を並ばせるこれって方法が思い浮かばなかったので。

2007-11-18 06:19:32


やっぱり limit を付けないときは最大に。

2007-11-14 21:58:59


今まで、空行が含まれてるときは group-independent、
含まれてないときは group-dependent みたいに場合分けしてたんだけど
どっちも group-dependent にするように変更した。
そのままだと分割ができなくなるので、
上から順に処理していく中で、既に更新されたアドレスは釣られ更新されないように。

* http://www.horaguchi.net/
* http://d.hatena.ne.jp/horaguchi
* http://del.icio.us/horaguchi
* http://twitter.com/horaguchi

が与えられたときの投稿で見ると、

------------------------------------------
|http://www.horaguchi.net/
|
|http://d.hatena.ne.jp/horaguchi
|



* http://www.horaguchi.net/

* http://d.hatena.ne.jp/horaguchi

* http://del.icio.us/horaguchi
* http://twitter.com/horaguchi

こうなってたのが

------------------------------------------
|http://www.horaguchi.net/
|
|http://d.hatena.ne.jp/horaguchi
|



* http://www.horaguchi.net/
* http://twitter.com/horaguchi
* http://del.icio.us/horaguchi

* http://d.hatena.ne.jp/horaguchi

こうなる。空行の有無で仕様が変わるのは分かり難いとも思ったので。

2007-11-14 21:16:30


tako3 feeds に編集欄を表示させるリンクを付けた。
フィードの更新は /address/feed でテーブルも別なので、改行を含んでるとどうとかは今のところ。
編集欄は最初付けようか悩んで、
自動で更新されてることが分かりにくいかと思って結局付けなかったんだけど、
サッと編集したいと思うこともあったので、とりあえずこういう形で。
ついでに search と group/[^/]*/search の ?q= を / にして meta リンクを付けて、
view と bookmarks の limit をそれぞれ 10 と 15 にした。max は同じ 25。

2007-11-10 11:25:11


HQ9+.pl - きのこに媚薬。
http://d.hatena.ne.jp/lovepotion/20071101/1193851822 →pageinfo
より
HQ9+ - Wikipedia
http://ja.wikipedia.org/wiki/HQ9%2B →pageinfo

>HQ9+の命令体系は、プログラム初心者や新しいプログラミング言語を学習するプログラマによく利用される例題そのものである。
>例えば「文字列"Hello, world!"を出力する」という例題は極めて一般的なものであるが、
>この種の処理を行うことが非常に難しいプログラミング言語も存在する。
>しかし、HQ9+にとっては極めて容易な問題であり、ただ単に"H"と命令するだけである。
>また、「自分自身のソースプログラムを出力する」という例題は多くのプログラミング言語にとって最も難しい課題の一つであるが、
>これもHQ9+にとっては取るに足らない問題である。

>また、HQ9++と呼ばれる言語も存在する。これはデイビッド・モルガン=マールによって作成されたオブジェクト指向言語で、
>HQ9+とは下位互換性をもつ。HQ9++には'++'という新しい命令が追加されている。
>この命令はアキュムレータを2回インクリメントし、さらにオブジェクトのインスタンスを生成する。
>情報隠蔽の原理に従い、このオブジェクトへのアクセスはできない様になっている。

>さらにFizzBuzzを追加したHQ9F+なるものも存在する。

らしい。

2007-11-10 06:19:46


“マヨネーズ”の検索結果(30 件):英辞郎 on the Web:スペースアルク
http://eow.alc.co.jp/%e3%83%9e%e3%83%a8%e3%83%8d%e3%83%bc%e3%82%ba/UTF-8/ →pageinfo

マヨネーズは mayonnaise と書くようだ。

マヨネーズ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%A8%E3%83%8D%E3%83%BC%E3%82%BA →pageinfo

>マヨネーズの語源に関してはたくさんの説があり、メノルカ島のマオン、マヨルカ島、
>フランスのバイヨンヌなど地名説だけでもいくつもの説が存在する。
>マオン説では、18世紀半ばに小説三銃士でも知られる宰相リシュリューの甥の息子が
>七年戦争の際に名付けたというのが通説になっている。
>毎日放送の世界ウルルン滞在記ではマヨルカ島がマヨネーズの語源として紹介されていた。

諸説あるらしい。

2007-11-09 18:47:57


Rogueliki の、page の記法は最初、Wiki エンジンを自由に選べるように、
getPageHTML を使って記法は API で吸収、みたいなのを考えてたんだけど
HTML に依存させるのは難しそうな気がしたので、それまで使っていたデフォルトで使う用の記法、
PukiWiki や MediaWiki をまんまパクろうと思ったけどプラグインとか無いならどうせ記法を
HTML の代わりに、みたいな。それが確か 2006 年の 4 月ぐらいだったような。
2006 年の 6 月にテーブル記法を ljust にすることを思いついて、記法がリンクと水平線だけになった。

mono
http://ninjinix.x0.com/mono/ →pageinfo

mono と似たような。

WikiCreole: Creole 1.0
http://www.wikicreole.org/wiki/Creole1.0 →pageinfo

その内 WikiCreole が出たので、構造の装飾を合わせた。で、今日

Twitter / Gackt: 来週の木曜日に高須賀さんとお会いすることになった.僕一...
http://twitter.com/eto/statuses/387470652 →pageinfo
より
LUNARRの高須賀さん - techviews.jp
http://techviews.jp/2007/11/lunarr.html →pageinfo
より
サイボウズ元社長設立のLUNARR、新たなコラボレーション・ソフトで売上高100億円を目指す
http://ascii.jp/elem/000/000/072/72218/ →pageinfo

この記事見て、あんま関係無いけど、ガワを残せばそのままコピペできそうって。

[[SandBox|こちら]] → <a href="wiki/SandBox">[[SandBox|こちら]]</a>

じゃぁ水平線も、ってもう記法っていうかオートリンクに。

2007-11-05 23:42:51


ポインタの移動速度を一番右に。
今まで一番右の一つ左だったので、一番右も多分大丈夫だと思う。
一つずつ慣らしていけば一番右でも何とかなりそうって思ったのいつだか忘れた。

2007-11-04 23:05:16


現状だとデータが outline の htmlUrl しか無いので
作るときに一気に取得ってのは無理そうなことを考えると
xmlUrl を取得して、どこかに保存しておく必要が。
とりあえず、view や bookmarks で使ってる google.feeds.lookupFeed の結果を貯めるように。
今のところ json/(http.*) と json/likely/(http.*) と json/search/(.*) と json/group/[^/]*/search/(.*) の4つ、
json を json+feed に変えると feed が保存されてる address には追加で ' ' + feed がくっついてきて、
追加ったとき view や bookmarks では lookupFeed しないで直接 Loading、
無いときは Finding で、feed が見つかったときは自動で更新するようにした。
no-cache じゃないせいか IE6 だと view や bookmarks への反映が少し遅れるようだけど。
ついでに lookupFeed 専用の tako3 feeds を作った。
hash や search のインターフェースは view や bookmarks と同じで、
Feed.load しない分、最大表示は 50 件にしてある。

tako3 feeds: http://www.horaguchi.net/
http://tako3.com/feeds#http://www.horaguchi.net/ →pageinfo

OPML の text は address をそのまま使った。

2007-11-04 13:10:45


Google Reader はタグが使えるので OPML がどうなってるのか気になって取得したら

<opml version="1.0">
    <head>
        <title>horaguchi の Google リーダー登録フィード</title>
    </head>
    <body>
        <outline title="bookmark" text="bookmark">
            <outline text="del.icio.us/horaguchi"
                title="del.icio.us/horaguchi" type="rss"
                xmlUrl="http://del.icio.us/rss/horaguchi" htmlUrl="http://del.icio.us/horaguchi"/>
        </outline>
        <outline title="personal" text="personal">
            <outline text="del.icio.us/horaguchi"
                title="del.icio.us/horaguchi" type="rss"
                xmlUrl="http://del.icio.us/rss/horaguchi" htmlUrl="http://del.icio.us/horaguchi"/>
            <outline text="www.horaguchi.net" title="www.horaguchi.net"
                type="rss" xmlUrl="http://www.horaguchi.net/index.rdf" htmlUrl="http://www.horaguchi.net/"/>
        </outline>
    </body>
</opml>

こんな感じだった。互換性は高そうな。

2007-11-03 19:46:44


晴れてたので窓際に置いて軽くアシストしたら回り始めた。
http://www.horaguchi.net/files/1193797605.jpg →pageinfo

2007-10-31 11:28:25


300円で取った。
http://www.horaguchi.net/files/1193747198.jpg →pageinfo

普通にややこしそうな。「必ず大人の人が組立てを行って下さい」とあった。
http://www.horaguchi.net/files/1193747226.jpg →pageinfo

1時間弱で完成。間違ってるのか光が弱いのか動かない。
http://www.horaguchi.net/files/1193747287.jpg →pageinfo

2007-10-30 21:28:46


死体のシンボルは、Nethack は % で Angband 系は ~、Crawl は‰のようだ。
コマンドやアイテムが Nethack 寄りだから、統一感なら % なんだけど、
この % が食物のシンボルってところで eat が前提になっている気がして、
アイテムの鞄として死体を残すことを考えると ~ の方が違和感は無さそう。
ただ ~ で感じる違和感も不安なんだけど、
見た感じ Nethack には目立つ ~ がそんなに無いようだからとりあえず。

2007-10-28 05:37:51


location.search で target と random と limit パラメータを指定できるように。
target=_blank と指定すればクリックする度に新しい窓に。
random は random=1 みたいに true にすると、
URL のリストから feed を取ってくる前に、ランダムで順番を入れ替えるように。
今のところ bookmarks の表示記事数はリストの一番上が 30 件で、10 件まで順にデクリメントされてくので
同じリストでもランダムにすると、表示される記事が微妙に変わる。
あと、今のところリストの上から 25 件目までしか feed を取得しないので、
長めのリストをランダムで使うと表示される記事がたくさん変わる。
これは limit=5 みたいにすることで短くすることも。一応最大 25 件。
view も同じように変えておいた。view の表示件数は一律 10 件なので、
長めのリストに短めの limit でないとランダムでは変わらなそう。今のところ。

tako3 bookmarks
http://tako3.com/bookmarks?random=1&limit=5#search/del.icio.us →pageinfo

hail2u.net - Weblog - JavaScriptで配列をシャッフル
http://hail2u.net/blog/coding/shuffle-array-in-javascript.html →pageinfo

2007-10-28 00:15:57


tako3 home では、自分が投稿した tako が更新されたかどうかが分かるように、
user tako を public tako で補完して、public tako の更新時間順に表示していたんだけど、

SELECT main.address, main.time, user.time
  FROM addresses AS main
    LEFT JOIN contributor AS user ON main.address = user.address
  WHERE EXISTS (
    SELECT *
      FROM addresses AS sub
        INNER JOIN contributor AS subuser ON sub.address = subuser.address
      WHERE main.time = sub.time
  )
  ORDER BY main.time DESC
  LIMIT 50

これだと public tako で削除された address は user tako にあっても home に出てこない。
public tako で削除されてると、更新時間が user tako からしか引けないので、
public tako で補完したら user tako の更新時間順に表示するように変更しようとしたんだけど、

(SELECT user.address, main.time, user.time
  FROM contributor AS user
    LEFT JOIN addresses AS main ON user.address = main.address
  ORDER BY user.time DESC
  LIMIT 50)
UNION
(SELECT main.address, main.time, user.time
  FROM addresses AS main
    LEFT JOIN contributor AS user ON main.address = user.address
  WHERE EXISTS (
    SELECT *
      FROM addresses AS sub
        INNER JOIN (
          SELECT *
            FROM contributor
            ORDER BY time DESC
            LIMIT 50
        ) AS subuser ON subuser.address = sub.address
      WHERE main.time = sub.time
  )
  ORDER BY main.time DESC)

UNION を使う方法しか思いつかなかった。
public tako で削除があると、どちらにも漏れができるっていう。
今、UNION 使うなら public tako 順に表示させるのもできそうな気がっていうか
多分 LIMIT 50 ついてる SELECT の ORDER BY を変えればできるような。
ただ、これでも重くなってきたら上半分だけになる予定が。

2007-10-27 07:33:25


location.hash から直接表示するようにした。
add するときは list → 各記事タイトル脇の add と1ステップ増えるけど、
view と同じく location.hash 移行を json/ に丸投げしてるのでいろいろ表示できるような。

2007-10-25 06:00:27


戻した。

2007-10-23 19:41:59


Patience Puzzle
http://tavernpuzzles.stores.yahoo.net/pz-ptpz.html →pageinfo

YouTube - Tavern Puzzle Competition - Patience
http://www.youtube.com/watch?v=Mk2v2y0IId8 →pageinfo

カンニングして解いた。
http://www.horaguchi.net/files/1193135270.jpg →pageinfo

戻さないと。

2007-10-23 19:28:52


実装するモンスター、というか敵 Player、はローグから取ることも考えたけれど
数が少ないのとバランスを考えて、素直に Nethack や Angband から。
で、雑魚敵を何か、コボルドは毒だからゴブリンをとりあえず、と思ったんだけど

私家版*band用語集 さ
http://beoline.nobody.jp/bandterm-sa.html#snaga →pageinfo

>前置きが長くなったが、*bandではこの後者の解釈で、オークの数多くの種族のうちでも
>小型で卑小な種族「スナガ」が、別名ゴブリンである、という設定になっている。
> 『指輪物語』においては、小柄なオークがスナガと呼ばれる箇所があり、
>固有名詞(キリス・ウンゴルに居るものは頭が大文字になっている)のように使われている箇所もあるのだが、
>スナガは小柄なオークを指す一般的な語であるという説明がある。

らしく、Nethack "o" ゴブリン、Angband "o" スナガ、Crawl "g" ゴブリンと微妙に割れていた。
ゴブリンの方が呼び慣れてそうなので "o" ゴブリンにした。

モンスター一覧 - hackaholic - Roguelike Tips
http://www.hackaholic.net/pukiwiki/index.php?%A5%E2%A5%F3%A5%B9%A5%BF%A1%BC%B0%EC%CD%F7 →pageinfo

*band自動抽出スポイラー
http://banko.my.land.to/spo/index.html →pageinfo

モンスター一覧 - だんじょん ひらおよぎ
http://banko.my.land.to/pukiwiki/index.php?%A5%E2%A5%F3%A5%B9%A5%BF%A1%BC%B0%EC%CD%F7 →pageinfo

2007-10-23 02:24:58


tako3 のグループ数が 1000 になった。URL は 4002 ぐらい。

2007-10-23 01:55:07


はさみ将棋
http://www.afsgames.com/syogi.htm →pageinfo

とを倒した。
http://www.horaguchi.net/files/1192998642.png →pageinfo

2007-10-22 05:31:37


IE6 の Trixie だとフレームページが度々真っ白になっていたので
document.body.innerHTML+= じゃなくて document.body.appendChild(div) にした。あと

メモ、iframeでのGreasemonkey実行 - 実用
http://d.hatena.ne.jp/brazil/20071013/1192265905 →pageinfo

を参考に少し修正。

2007-10-21 18:01:58


で、search から検索するときにタグも見るようにした。
ついでに AND 検索ができるように。

tako3 group: javascript
http://tako3.com/group?q=javascript →pageinfo

それで、ヒットした URL を含む group を表示するのと、

tako3 javascript search: d.hatena.ne.jp
http://tako3.com/group/javascript/search?q=d.hatena.ne.jp →pageinfo

ヒットした URL を含む group から検索するのを作った。
今、タグは URL の拡張みたいな感じだけど、java で検索した場合
javascript が含まれる URL は引っかかっても、javascript タグが付いてる URL は引っかからない。

2007-10-19 00:35:48


で、タグを付けられるようにした。
したのは OpenID で何かって思ったからだけど、
tako が欲しい動機の1つがタグ繋がりだった気も。

2007-10-17 23:28:37


tako3 OpenID
http://tako3.com/openid/ →pageinfo

OpenID でログインできるように。なんかできない時があって対処できてないけど。
今のところ、public tako と user tako が別になっていて、
home にアクセスすると user tako が public で更新されてるかどうかが分かる、ってだけ。
投稿したときに public tako と同時に user tako が更新されるんだけど、
user tako の更新はグループ補完の前に行われるので、同じ人の URL でも選別することが一応。
あんま関係無いけど、OpenID は delegate して使った方が冗長性が上がるのかも。

2007-10-15 18:36:55


Twitter / tkmr: @horaguchi tako3.com互換のAPIを...
http://twitter.com/tkmr/statuses/335484592 →pageinfo
より
Fooo.name!!
http://fooo.name/main/aboutapi →pageinfo

fooo.name で、tako3 の json/http.* と json/likely/http.* と json/all に対応する API が公開されている。
ので、js/getako を all の複数読み込みに対応させておいた。

それを使った、リファラやハッシュで両方から引くページ。
http://www.horaguchi.net/files/tako3_and_fooo.html →pageinfo

fooo.name更新 - バグ潰しとtako3.com互換API:TKMR.blog.show
http://blog.tkmr.org/tatsuya/show/401-fooo-name-tako3-com-api →pageinfo

2007-10-15 08:04:11


作者さんからコメントが来ていた。

>どうも作者のtkmrです、まさに今晩正式に公開しようと思っていたところです。
>自分も「tako3.comと上手くデータ連携できればと思うのですが、どうでしょう?中の人」
>とブログで公開ついでに書こうと思っていました:)

>手始めに、次はtako3.com互換のAPIでも用意しようかと思っていたのですが、どうでしょう?
>Greasemonkeyスクリプト等に互換性が持たせられて良いかなと

>ゆくゆくはデータ補完して行きたいですね。データはオープンになるべきだと個人的に思うので、
>APIと別にサイト上でDBのダンプデータ定期的に公開しようかな。などと考えています。

>自分のブログこちらになります http://blog.tkmr.org/ 今後とも宜しくです。

tako3 のデータは http://tako3.com/json/all にありますので、ご自由にお使い下さい。
fooo.name の中でも手動で編集された情報なら、tako3 でも使えそう、とは考えているので
データを公開されるのであれば、こちらも利用していきたいです。
よろしくお願いします。

2007-10-12 04:32:46


6面ダイスにするとダイスを振る場面が 100% 83% 67% 50% 33% 17% 0% の7パターン、
ってやっぱりそれは少ないと思ってまた d20 に。
20面ダイスが無さそうなのはそうなんだけど。
修正値を2で割るのはそのままなのでなんか段々 3.5e。

2007-10-10 07:35:37


Fooo.name!!
http://fooo.name/ →pageinfo

>Web上で何か興味のある人やURLを見つけたとき、
>そのサイト上で下記のブックマークレットを実行すると
>「その人が他にどんなサービスを利用しているか、どんなサイトを持っているか」を
>本サイトより探す事ができます。どうぞお試しください。

とのこと。OpenID からの手動編集に加えて、
アカウント ID から同じユーザを推測することもあるようだ。
方向が tako3 と同じなので tako3 のデータで補強できそうだけど、
誰が作ってるんかな。
逆に fooo のデータをパクることも考えたけど、見たところ
通し ID のサービス群以外は検証が要りそうなので、そのままって風には。
あと死にアカも省きたいような。
ID から各ネットサービスへ対応するパターンの蓄積が便利そう。

はてなブックマーク - Fooo.name!!
http://b.hatena.ne.jp/entry/6104206 →pagein