Ruby
こちらのサイトでシンプルなPythonの実装が配布されていたので、Rubyでも実装してみました。 require "socket" TUNSETIFF = 0x400454ca IFF_TAP = 0x0002 PEER = "192.168.0.100" PORT = 9876 tap = open("/dev/net/tun", "r+") tap.ioctl(TUNSETIFF, ["tap%…
このブログエントリはカーネル/VM Advent Calendar 2013 25日目の記事です。前回、カーネル/VM探検隊で「バインディングさえあればスクリプト言語でもゲストOSローダを実装出来る」という話をちらっとしました(資料)。今回の記事では、ゲストOSロ…
mrubyってRubyのgemsみたいな感じに拡張をmrbgemsっていう方式で追加できるんですが、mrubyの用途から言ってどこかのディレクトリにダイナミックリンクライブラリ+Rubyファイルで配置とかやってほしくなくてmruby本体に直接リンクしといて欲しいという感じ…
OSvへmrubyを移植してみたらとてもあっさりと動いた話 - かーねる・う゛いえむにっきの続きです。さて、OSvでmrubyが動くようになったのですがmrbgemsを追加していないのでこのままではAPIがむっちゃ少なくてなにも書けません。 でもmrbgemsの移植ってそれぞ…
注:この記事はカーネル/VM+K*BUG勉強会@関西 ごかいめのダイジェスト版です。 詳しくは、以下の動画とスライドをご覧下さい。 OSvは、OpenJDKを仮想環境で高速に動かす事を目指していて、ユーザは基本的にJavaアプリケーションしか実行しないという前提にな…
こちら。こんな感じにRubyスクリプトでNICを設定できるぜいえーい eth = Netif.new("eth0") eth.up eth.mtu = 1000 eth.set_addr("172.0.0.1", "255.255.255.0") puts "addr:#{eth.addr}" puts "netmask:#{eth.netmask}" puts "broadaddr:#{eth.broadaddr}" …
こんな適当な変更をでっち上げて、MacRubyに食わせたら何が起きるかなぁと実験してたら、思いがけない意味不明なエラー食らった。ナニコレ。 $ macruby mikutter.rb /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/monitor.rb:219…
9月から今日まで、OpenBSD/sgiへどのような変更が加えられてきたのか調べたいと思ったので、1日毎にdiffを取ってみた。 9月から今日までの分全部のdiffだと大きすぎるので、デイリーでバラすというのが実現したかった事。本当はシェルスクリプトで済ませ…
http://json.rubyforge.org/ 高々jsonのパーサーを実装するのにも結局Cを用いている。 いや、速いだろうよ。でもなんか、それってrubyが遅いって言ってしまっている気がしてならんし、気分的にしっくりこないなー。 1.9系ではこういう事しないですむくらいに…
これはバグちゃうのか。設定の問題なのか??? #!/usr/bin/ruby require 'dbi' dbh = DBI.connect("DBI:Mysql:dbname:hostname", "username", "password") sth = dbh.execute('SELECT NOW()') sth.fetch do |row| p row[0] p row[0].to_time p Time.now p (…