無精 Laziness
トータルでみたエネルギーの支出を減らすために、多大な努力をするように、あなたをかりたてる性質。
こうして労力を省くために書いたプログラムは他人も使うようになり、そのプログラムに関する質問にいちいち答えずにすますためにドキュメントを書くようになる。
そのために、プログラマにとって最も重要な素質である。 - Larry Wall (Perl開発者)
2008-10-28
_ [rcairo][ruby][pdml][TODO] rcairoとPDML
cairoというGTK+やFirefoxで採用されている(らしい)グラフィックライブラリがあります。
このライブラリを使うとWindowsのGDIやPNG,PDFなど様々な形式でナイスな感じに描画できます。
それをrubyで使用するためのライブラリがrcairoです。
これを使用すると簡単にデータの視覚化が行えるので重宝します。
話は変わって、みんな大好きなパケットスニファWiresharkは解析した結果をPDMLというXMLベースの形式で出力することができます。( [ File ] -> [ Export ] -> [ File... ] )
この2つを組み合わせたらなんかナイスでクールなアプリケーションが作れるに違いない!と思ったのでruby + rexml + rcairoでグラフィカルなPDFに変換するスクリプトを仕事中と休み時間を利用してさくっとつくりました。
自分の仕事補助用として適当につくったスクリプトだったので半ば書き捨てにしようと思っていたのですが先輩に見せたら大絶賛。
気を良くして「そんなに便利なら公開しようかな」と思ったのですが、同期に聞いたら業務時間内に使用したツールなどは公開しない方がよいという意見をもらったのでやめました。
別に業務上の秘密を含んでいるわけではないのに、せっかく便利そうなスクリプトとかをつくっても大多数の利益にならないならあまり作りこむ価値もないなぁということでこのスクリプトはもう作りこむのはやめました。
アイデア自体は結構いいと思うので、業務時間は一切使用せずに1から同じ機能をもったものを作り直すことにしました。
こんな二度手間になるなら、仕事で使用するスクリプトも業務時間外だけで作った方がよさそうだね!
現在はすべてのパケットのデータをカラフルな感じにするだけですが、IPアドレスによるフィルタリングやフローグラフも実装しようと思ってます。
rcairoはドキュメントが少ないので、そのあたりの補足も書きながら実装できるといいなぁ。(リファレンスはあるけどとても使いにくい…)
2008-10-31
_ [rcairo][ruby] HSV色空間
リファレンスに引数の範囲が書かれていないが,色相(hue)は0.0-360.0でその他は0.0-1.0の間になる。
色相はインスタンス生成時にmodulo 360.0の値になるが、その他は0.0-1.0の範囲外になるとArgumentErrorになるので注意。
該当ソースはrcairo/src/lib/cairo/color.rbにある。
HSVの変換は下記と全く同じ方式でやっている模様。
_ kou [がーん。使いにくかったですか。。。]
_ ◆RGSS..WS4M [>kouさん うおお、ご本人のレスがあるとは思ってませんでした。 ドキュメントとしては網羅してあるのですが、以下の..]
_ ◆RGSS..WS4M [よく考えたらリファレンスというよりも「索引だけ」というのが使いにくいだけな気がしてきました。 ]