RubyKaigi 2009 Reject Talk 1
July 29th, 2009 | Published in Uncategorized
I made a presentation at RejectKaigi 2009 in RubyKaigi 2009 day 2. The talk was about Rubigraph which I created a year ago.
Slide:
Video:
Sample Code:
Enjoy!
July 29th, 2009 | Published in Uncategorized
I made a presentation at RejectKaigi 2009 in RubyKaigi 2009 day 2. The talk was about Rubigraph which I created a year ago.
Slide:
Video:
Sample Code:
Enjoy!
May 29th, 2008 | Published in hack
Rubigraph を 0.1.0 にバージョンアップしました。 gem install rubigraph
でアップグレードできます。
Rubigraph 0.0.1 だと、Ubigraph alpha-0.2.2 でうまく動きません。(XML-RPCの返り値が変わったため) バージョンアップ推奨です。
Ubigraphの中の人と、ブログコメントやメールでのやりとりを行い、Ubigraph alpha-0.2.2 から、Rubigraph が含まれることになりました。やった!
証拠魚拓:
公式ドキュメントの中に、ちゃんとクレジットはいってます。
しょぼくてもいいから、とにかくなんかつくって素早く公開する、ということが大事ですね。最初からすごくなくてもいい。公開したあと、徐々に良いものにしていけばいい。
May 25th, 2008 | Published in hack
Rubigraph という、Ubigraph のRubyラッパを書きました。
Ubigraph というグラフ生成ツールを最近見つけました。 Graphvizが静的なグラフ生成をしてくれるのに対して、Ubigraphは動的にノードやエッジを追加/削除/属性変更できるのがミソです。これがたのしい。 どれくらい楽しいかについては、デモを見ていただければと思います。
クライアントサーバ型であり、サーバのコードは非公開だけれどXML-RPCのAPIが用意されているので簡単にクライアントがつくれます。なので、クライアント側の言語は問わないと謳ってるわけですね。サーバのバイナリはMacとLinuxが用意されてます。
ですが、いちいちAPIリファレンス見ながらXML-RPCを書いてられない。 なので、簡単なクラスをつくってラップしたものをRubigraphとして公開します。
Rubyforgeにプロジェクトをつくっておきました。 gem install rubigraph
としてインストールできます。
require 'rubigraph'
Rubigraph.init # XML-RPCクライアントの初期化などする
v1 = Vertex.new
v2 = Vertex.new
e12 = Edge.new(v1, v2)
v1.color = '#003366'
v2.shape = 'sphere'
e12.label = 'edge between 1 and 2'
かんたんですね!
ダイナミックにグラフで可視化するのはたのしいものです。ぼくは関数コールトレーサにつかっていて、とても便利に感じています。 Ubigraph++。
October 1st, 2007 | Published in hack
1行パッチなんですけど。
DokuWikiのtag pluginと、cloud pluginをあわせると、タグクラウドができます。 なんだけど、デフォルトではタグクラウドのリンク先が /tag/tagname へのPermaLinkとなってしまいます。そのタグを用いているページのリストが表示されてほしい、というのがよくあるケースなのではないでしょうか。
ということで、パッチを書きました。 tagcloud-backlinkpatch.zip
内容は、これだけのもの:
--- syntax.php.orig 2007-10-01 00:01:07.000000000 +0900
+++ syntax.php 2007-10-01 00:01:03.000000000 +0900
@@ -78,7 +78,7 @@
if ($type == 'tag'){
$id = $word;
resolve_pageID($tag->namespace, $id, $exists);
- $link = wl($id);
+ $link = wl($id, 'do=backlink');
$title = $id;
$class .= ($exists ? '_tag1' : '_tag2');
} else {
$DOKUWIKI/lib/plugins/cloud にて、patch -p0 < tagcloud-backlink.patch みたいにしてあててください。
July 9th, 2007 | Published in Uncategorized
Apache の ログ を、リアルタイムに QuartzComposer で表示するものをつくりました。 tail -f /var/log/httpd/access.log の代わりにつかう、みたいな。
httpd2qc package (Universal Binary, tested on Tiger)
プライバシーをまもるために、リモートホストのIPアドレスは “xxx.xxx.xxx.xxx” にしています。実際にはばっちり表示されます。
LogFormat "%h \"%{Referer}i\" %U" httpd2qc CustomLog "|/opt/local/httpd2qc/filter.rb" httpd2qc
ApacheLogPatch は、QCStructureのオブジェクトを出力します。実際には、[リクエストパス、リモートホストのアドレス、リファラー、検索キーワード] の要素をもつQCStructure の配列になっています。
より詳しくはソースを。
Google本社では、検索キーワードがリアルタイムに画面を流れているのが見れるとか聞きました。僕が行ったときには、そんなディスプレイは見当たらなかったのだけれど。
せっかく自宅サーバをMacで動かしているのだし、なにか面白いことはできないもんかなー、と風呂でぼんやり考えていて、最近遊んでいる QuartzComposer の CustomPatch と組み合わせてみたら? と。
March 21st, 2007 | Published in hack
cartesianTaskを公開してみます。 ほんとまだまだの出来なんですけれど、公開することに意味があると思うので。
既知のバグがたくさんあるので、多少のことには目をつぶれる寛容な方のみお試しください。
cartesiantask専用ページ → こちら
どうやって(x,y)の値を保持するか? と考えた結果、各TaskのNoteを用いることにしました。
すべてのTaskのNoteにアクセスを行うため、RTMから怒られるかもしれません。 RTM APIの注意事項には、平均して1秒間に1回のAPIアクセスにせよとあるので。
このへんは、0.2.0リリースあたりでうまく解決する予定です。
March 21st, 2007 | Published in Uncategorized
cartesianTask は、Remember the MilkのTaskを二次元座標にドラッグアンドドロップで配置することにより、重要度や緊急度をひとめで分かるようにするものです。
旧名称 : taskMap
0.1.0 を公開しました。
自分ではたくさんテストを行っていますが、いかんせん1人で行っているので漏れがあると思います。
TaskやListを消したりはしませんが、Noteのadd/deleteは行っています。 cartesianTaskの管理外のNoteは触れていませんが、万が一NoteやTask、Listが消失しても勘弁してください。
taskMapという名称は、商標登録されているとのことなので、名前を変更しました。 taskMap → cartesianTask
March 21st, 2007 | Published in hack
ここ数日、rtmProgressがダウンしていましたが、復活させました。
ダウンしていた理由は、rtmProgressがbackendで用いているrtmilkというライブラリのバージョンを0.3.0に上げたからです。rtmilk 0.3.0 では、それまでのバージョンとの互換性をぶったぎってしまったので、rtmProgressが動かなくなってしまっていたという不恰好な顛末でした。
February 20th, 2007 | Published in hack
RTM Hackシリーズです。
今回は、RTMのUIではなかなか分かりづらいタスクの進捗状況を、棒グラフで見える化してみました。 いまのところ、期間は (今週/今月/今年) で切り替えることができます。
というシンプルなつくりです。
自分がいまどこにいるのかが分かると、やる気が出ます。 「今週はこれだけやった!」みたいなものをぱっと見ることができればいいかな、と思ってつくってみました。
February 12th, 2007 | Published in hack
List一覧と、個々のListに応じた色付けをTaskに割り当てるようにしました。 これで、
あるのかが分かるようになります。 ある色のTaskが多いと、なにかの種類に行動が偏っているとかいうのが一目瞭然。 自分でちょこちょこ試してみているのですが、なかなか便利です。
だいぶ公開できるレベルになってきているので、もうすぐソースごと公開しようと思います。
これからのWeb2.0時代では、データが重要なんだってよく言われるけれど、 そのデータを活かすのがViewだと思います。 たしかに、Modelはすごい勢いで充実してきているし、それを公開するAPIもじゃんかじゃんか出てきていますが、Viewが著しく貧弱だと思うのです。 ブラウザのDivなんかによる矩形表示やリスト表示だけなんてナンセンスだと。 もっといろんなViewの可能性を求めて、ひとに優しいUIをつくりたいなとか。
しかし眠いのです。