Rubyから外部プログラムを呼び出して、 パイプを使ったプロセス間通信をする方法の紹介です。

Rubyから外部のプログラムを起動して、標準入力からデータを入力し、 標準出力から結果を取り出したいという場合には、 IO.popenを使うと便利です。使い方は以下のとおり。

   1  IO.popen('/usr/bin/command', 'r+') do |io|
   2    io.puts "something to input"
   3    @result = io.gets
   4  end

See Also

posted by Png genki on Fri 14 Mar 2008 at 18:38

プログラミングのスピードを上げる方法

天才の成せなる技とは思わずに、

  1. 努力しないでいいように
  2. 論理的に考えなくてもいいように
  3. 頭を使わないでもいいように

最初からそう組み上げていく。

頭を使うプログラミングと、頭を使わないプログラミングは、 同じプログラミングでも本質的に違うものなのではないかと思う。 IMHOだけど、頭を使わなくてもいいプログラムを書き続けることは、 将来的に自分の可能性を狭めることになるんじゃないだろうか。 組み上げるほうに時間を使う、という話なのであれば納得だけど。

僕自身に関していえば、 コードを書いている時間よりも、頭を使ってる時間のほうが何倍も長いです。 一日100行もコードを書かないこともありますが、 そういう日のほうが仕事をした感じがします。 キーボードに向かってコードを書いているときは、 あまり仕事をした気がしないかも。 脳内で出来上がったものを書き下ろしてるだけだからね。

傍目にはぼんやりしてるように見えるとき、一番仕事をしていると思う。

See Also

posted by Png genki on Fri 14 Mar 2008 at 04:43

むしろ今までついていなかったのが問題ですが(今ではS3Foxを使っていた)、 ファイル形式を自動認識するファイルアップロード機能をつけました。 画像の場合、サイズに応じて自動的にサムネイル画像を作成します。

P1120681.JPG

posted by Png genki on Fri 14 Mar 2008 at 03:42

AS3を使ってリアルタイムレイトレをやっているサイトを見つけました。

Flash ActionScript 3.0 Raytracer

rtimg

ブラウザを使った分散レイトレも現実的になってきているのかも。

posted by Png genki on Thu 13 Mar 2008 at 14:14

FWS/CWSファイルのフォーマットについては、Adobeの 「SWF and FLV File Format Specification Version 9」 を参照すると大体のことは分かりますが、 SWFTagが一覧になっていて便利そうな、こんなサイトもありました。

メモメモ。

See Also

posted by Png genki on Thu 13 Mar 2008 at 06:36

via Tumblr for R&D of lucille renderer.

レイトレーシングによる、各種言語のコード量と速度の比較。

Ray tracer language comparison

非常に興味深いですね。OCaml速いですね(参照)。 OoOでF#に期待がかかっていたのもうなずける。 Global Illumination Rendererを使ったベンチマークだとどうなるかな。

posted by Png genki on Wed 12 Mar 2008 at 16:51

MUDA を使って非常に短いプログラムを書いてみました。

MUDAを使ってvecの足し算をしています。 HLSL/GLSLライクに幾何計算を記述できるのは楽でいいですね。

See Also

posted by Png genki on Wed 12 Mar 2008 at 00:31

MUDA を使う環境を構築すべく、coLinuxをインストールすることにしました。 その過程で役に立ったサイトのメモです。 またいつかcolinuxの環境構築をするときのために。

posted by Png genki on Tue 11 Mar 2008 at 00:13

実感としてそうだなと思うのだけれど、どうしてそうなんだろうか。 素朴な疑問が残った。

日本はヤバくても、東京はヤバくないかも

21世紀は都市の時代。都市を地方化するのは時代の逆行にしか思えない。

インターネットなどの情報通信技術が発展し、 地理的な制約は徐々に少なくなっていくにもかかわらず、 都市人口率はむしろ増加している。

graph

Figure 1 Percentage Change in Urban Population, 1950-2030. (from Urban Harvest: A Cgiar Global Program on Urban and Peri-Urban Agriculture)

通信技術のもつ、人間の面白いもの・楽しいものに集まろうとする性向を 助長する要素のほうが、 コミュニケーションを地理的な制約から解放する要素よりも 勝っているという事なんだろうか。 楽しいものや便利なものが飽和してくると、 逆に都市人口率が下がったりするのかな。

posted by Png genki on Mon 10 Mar 2008 at 19:19

まだ完全ではないですが、いくつかの点でOpenID認証の挙動を改善しました。

  • 必須パラメータがもらえないIdPに対して毎回パラメータの手入力を しなくても良くなった。
  • 一度アカウントとBindされたOpenIDを変更できるようにした。
    • login nameの衝突が発生した場合、パスワード認証を要求するようにした。

ある程度まとまった時点で、Open ID Authentication用の Railsプラグインを更新します。

不具合などに遭遇いたしましたら、ご連絡いただければ プラグインの改善に役立てさせていただきます。 よろしくお願いいたします。

posted by Png genki on Mon 10 Mar 2008 at 17:34