ruby
ライブラリはたくさんあって何を使えばいいのやら。いくつか試して良さそうなものを。 rqrcode インストール rqrcodeとrqrcode_pngは一緒にいれると便利。 $ gem install rqrcode $ gem install rqrcode_pngrequire 'rubygems' require 'rqrcode' require 'r…
リーマンは時折無駄としか思えない人力作業を強制させられるときがあります。インベントリを人力で調べるなんて拷問ですよ。 ささっとvbsを書いて終わりのつもりだったのですが妙に遅い...半端ではない遅さ。 hostname = "remote_host" set locator = Create…
周りがマックばかり購入するので、カッとなって Thinkpad X1 を購入しました。まずはUbuntu12.04にVirtualboxを入れて遊んでいます。ほんとSandyBridgeとSSDの速さは恐ろしいものがありますね。AMD信者としてはどうしていいのかわからない気持ちになります。…
wordcountの例題は map/reduce でよくでてくるよね。 ruby rubyは便利。 array = %w(foo bar hoge foo foo bar fuga hoge) h = Hash.new(0) array.each {|e| h[e]+=1} p h #=> {"fuga"=>1, "foo"=>3, "hoge"=>2, "bar"=>2} perl perlも便利。初期化しなくて…
いつも忘れる。gemのやつは。rpm-buildいつも忘れる。 $ yum install rpm-buildrubygems checkinstall -R ruby setup.rb
東京国立近代美術館フィルムセンターという国立映画機関があります。大小の2ホールで映画を上映していたり、映画資料展示や映画関連文献の公開もしていて、映画ファンならかなり楽しめるところです。 今回の特集は「フィルム・コレクションに見るNFCの40年」…
ゴミですな。 m = ("a"..."z").to_a + ["!","\s"] puts [7,4,11,11,14,-1,22,14,17,11,3,-2].map {|n| m[n]}.join #=>hello world! m = ("a"..."z").to_a + ["!","\s"] [7,11,14,22,17,3].zip([4,11,-1,14,11,-2]){|x,y| print m[x], m[y]} puts #=>hello wo…
まったくもって無知でした。 LinuxのIPアドレスを変更したらhostidが変わってしまったので、とあるアプリが動かなくなってしまいました。仕事の大先輩に「linuxのhostidはIPアドレスから生成されるから気をつけないと」と中国語なまりで教えて頂きました。こ…
色々できるみたい。 $ sudo gem install xmpp4r Successfully installed xmpp4r-0.5 1 gem installed Installing ri documentation for xmpp4r-0.5... Installing RDoc documentation for xmpp4r-0.5...#!/usr/bin/ruby require 'rubygems' require 'xmpp4r'…
IP Messanger のv2.07がリリースされました。なんと6年振の更新だそうです。バルーンで通知してくれたり、ちょっぴりカッコよくなっています。 http://www.forest.impress.co.jp/docs/news/20100421_362762.html Vista/Win7環境の menu 位置修正 UTF-8ログ保…
XenでもXenServerの話。 XenServerは体感ではVMwareよりずっと軽く感じる*1ので、最近はとても愛用しているのですが、XenServer5.5のXenCenterにはスナップショットから元に戻す機能が付いていないので少し不満でした。 調べてみると、どうやらXenServer5.5…
書いたコードをデーモンとして動かすときに、手抜きしてnohupでバックジョブに投げていたんですが、id:kenkitiiさんに 「rubyにGodという便利なものがあるよ」と教えてくれました。 このGodってどういうもの? 通常のプログラムをデーモンとして動かせます。…
Xenを操作するために、virt-manager, xmコマンド, virsh でも特に不満はないのですが、Xen Management APIというのがあるそうなので使ってみたくなりました。 xenライブラリをインストール gem install xen Successfully installed xen-0.1.2.1 1 gem instal…
結構便利。 インストール 最初はgooglereaderライブラリをインストール。 $ sudo gem install googlereader 認証 これだけでOK. これはgooglreaderライブラリじゃなくて一緒にインストールしたgooglebaseライブラリの機能ですね。 require 'rubygems' requir…
mixi Engineers’ Blog をみてて、Tokyo Cabinet すげえと思ったので少し触ってみた備忘録。 開発環境 CentOS5.4 x86_64 Tokyo Cabinetインストール rpmforge を設定してなかったら設定。 $ wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmfor…
ruby/pcapというlibpcapを扱う便利なライブラリをみつけた。 http://www.goto.info.waseda.ac.jp/~fukusima/ruby/pcap-j.html これは便利だ。これでsessionidをとっ捕まえてなにかを自動化できそうだ。 ruby/pcapインストール $ sudo yum install libpcap-de…
最近更新さぼっているので、とりあえずwin32oleでなんか書いておこう。 require 'win32ole' require 'pp' def diskinfo host = "." service = WIN32OLE.connect("winmgmts://#{host}/root/cimv2") disk = service.ExecQuery("Select * from Win32_LogicalDis…
簡単にできるみたいですね。でも便利だけどtwitterをいまいち楽しめないオールドタイプの自分が悲しい。。まずはgemでインストール。依存関係のgemがすげー。 $ sudo gem install twitter When you HTTParty, you must party hard! Successfully installed r…
vbsのサンプルがたくさんあるのでそれを参考にWIN32OLEで書いてみました。 書いたのですが、vbのErrオブジェクトをWIN32OLEでどうやって使えばいいのかわからない。。。まあいいか。 #!/usr/bin/ruby require 'win32ole' require 'optparse' require 'pp' # …
rubyで書く簡易版pstreeはこんな感じかな。 class PsTree def initialize @line = "-" @space = " " @table = Hash.new{|h,k| h[k] = []} proc_dat end def proc_dat Dir.glob("/proc/[0-9]*") {|dir| stat = stat_open("#{dir}/stat") pid = stat[0]; ppid …
前にid:kenkitiiさんとプログレスバーで盛り上がったので忘れないように備忘録。簡単なサンプル。 #!/usr/bin/ruby class Progress def initialize(word = ".") @cnt = 0 @space = " " @word = word end def bar(interval = 0.05) sleep interval @cnt += 1 …
圧縮音楽が気がついたら100GBこしていました。1997年ぐらいからアルバムをしこしこエンコードしていたのが懐かしいです。Pentium2 233Mhzだと1時間のアルバムはエンコードに1時間かかるんだもんな。 というので、古いIDv1タグのMP3が数多く残っていたのでIDv…
前回のように特権でプロセスの優先度を変更するんじゃなくて、普通に優先度を変更する場合、rubyだとすごく簡単。 require 'win32ole' #LOW, NORMAL,HIGH, REALTIME, ABOVENORMAL,BELOW_NORMAL BELOW_NORMAL = 16384 strComputer = '.' def usage puts "#{__…
Xenのディスクイメージファイルを拡張してみました。]]Ubuntu Japan[[ にXenのディスクイメージの拡張方法が書いてあったので試してみたのですが、なかなかうまくいきませんでした。 # cd /etc/xen/images # mv sarge-root.img sarge-root.img.old # dd if=/…
Win32OLEがすごく面白かったのでWindowsのサービスをリモートから起動停止するコードを書いてみました。 Win32OLEを使ったrubyのコード require 'win32ole' すれば後はvbsで書くのとあまりかわりはありません。vbsと違い強力なrubyのHashやArrayやイテレータ…
mysqlに1000万件のゴミデータをインサートするために、ゴミコードを書いた。 環境 os:centos5.2(xen-domain-u) memory:2GB ruby/mysqlインストール configを指定してインストールします。 $ sudo yum install ruby ruby-devel mysql-server mysql-devel mysq…
仮想マシンがたくさん増えるとその管理も大変になります。仮想化を推し進めればコストダウンになると思いきや、単純にサーバの数が増えるので管理コストが増えしまいます。いいかげんな開発環境によっては勝手にIPを振り仮想マシンをボコボコ起動させる人も…
xenのdomain-uを複製したあと、定義ファイルのUUIDとMACアドレスを手でコリコリ書くのはバカっぽいので ユニークなUUIDとMACアドレスを生成するゴミプロ。 #!/usr/bin/ruby # vender-id 00:16:3e mac_address = ["00", "16", "3e"] 3.times {|n| mac_address …
dropboxに何も入れておらず寂しくなったので、WallPaperをダウンロードして置いてみたくなりました。 とりあえず、書いてみた。ruby foo.rb でOK. コード require 'rubygems' require 'hpricot' require 'open-uri' url = ARGV[0] class PhotoGet def initia…
ruby-graphvizで遊んでみました。 インストール サーバはCentOS5.2 x86_64で。 先にYumリポジトリを追加*1 $ cd /etc/yum.repos.d/ $ sudo wget http://www.graphviz.org/graphviz-rhel.repo $ sudo yum list 必要なものをインストール $ sudo yum install g…