dev-ruby/qt4-qtruby

>>> Emerging (3 of 3) dev-ruby/qt4-qtruby-1.4.9-r3 to /
 * qt4-qtruby-1.4.9.tgz RMD160 SHA1 SHA256 size ;-) ...                [ ok ]
 * checking ebuild checksums ;-) ...                                   [ ok ]
 * checking auxfile checksums ;-) ...                                  [ ok ]
 * checking miscfile checksums ;-) ...                                 [ ok ]
 * checking qt4-qtruby-1.4.9.tgz ;-) ...                               [ ok ]
 *
 * (1) In order to compile dev-ruby/qt4-qtruby first you need to build
 * =x11-libs/qt-4* with USE=" dbus" flag(s)
 * 
 * 
 * ERROR: dev-ruby/qt4-qtruby-1.4.9-r3 failed.

あらまあ。
 /etc/portage/package.useに以下を追加。

x11-libs/qt dbus
$ sudo emerge -av1 qt
$ sudo emerge -av qt4-qtruby

これでおk。
それにしてもqtはコンパイルに時間かかるなー

Ruby Ruby-Inline Lua 計算速度比較

ruby-inlineを試したついでに計算速度の比較を行った。
15の階乗を100万回計算させたら...

言語 実行速度
Ruby 10.95s
Lua 0.90s
Ruby+C(Ruby-inline) 0.76(0.85)s

想像以上にLua速い!なんだこれ!
ruby-inlineいいけれどこれ、Cのソースを文字列としてくくるからemacsruby-modeでインデント出来なくなるんだよなあ...
でもいいぞruby-inline!もっとやれ!


ソースコードなどは以下からどうぞー。

続きを読む

sys-fs/mdadm-2.6.4-r1

 * Messages for package sys-fs/mdadm-2.6.4-r1:

 * If using baselayout-2 and not relying on kernel auto-detect
 * of your RAID devices, you need to add 'mdraid' to your 'boot'
 * runlevel. Run the following command:
 * rc-update add mdraid boot

baselayout2やカーネルRAIDバイス自動検出に頼らないのであれば、'boot' runlevelに'mdraid'を加えて下さい。かな?

$ sudo rc-update add mdraid boot

Lua 手直し

最大値最小値は何のことはなかったので、軽くエラー処理を入れてみた。
わざわざget_minmax関数を置く必要はないが、Luaは複数の戻り値を返せるとのことだったので試しに。

function compare(x, y)
   if(x.weight < y.weight) then                                                                                                                                               
      return 1
   end
end

function get_minmax(t)
   return t[1].name, t[(# t)].name
end

function show_all(t)
   for i=1,(# t) do                                                                                                                           
      print("   --- "..t[i].name, t[i].weight)
   end
end

function main_loop()
   local list = {}

   while true do
      io.write(">> Input name : ")
      local name = io.read()

      repeat
         io.write(">> Input weight : ")
         local buf = io.read()                                                                                                                                
         weight = tonumber(buf)
      until type(weight) == "number"

      table.insert(list,{["name"]=name, ["weight"]=weight})
      table.sort(list,compare)                                                                                                                  
      local min, max = get_minmax(list)                                                                                                        

      print()
      show_all(list)
      print("\n".."   [MIN : "..min.." / ".."MAX : "..max.."]".."\n")
   end
end

main_loop()