2012-01-01から1年間の記事一覧

Subsonic Hacks

自宅のMacに Subsonic をインストールして家の外(iPhone App, 会社!)からアクセスできるようにしています。(過去エントリ http://d.hatena.ne.jp/hiboma/20110702/1309591830 ) だいたい便利なのですが、ひじょーに細かいで不満があったので自分でパッチを当…

Macbook Pro のバッテリー

会社で使ってる Macbook Pro のバッテリーが猛烈な勢いでヘタってます。これはバッテリーの残量のグラフ こっちは 7月 ~ 10月 で拡大した図8月中旬あたりから下降の兆しが見えてるのですが、何かあったのかなー グラフの出し方は このエントリで書いてます h…

Sqale開発中に遭遇したバグ その1

Sqale(スケール) の開発中に 2~3個 カーネルのバグ踏んであれこれ調べたので、経緯を公開。 LXC、chef-solo で作ってます Sqale(スケール) ではユーザーがデプロイするRackアプリケーションを LXC(Linux Container) 内で動作させています。LXCの環境は chef-…

www.pogoapp.com using "nginx + lua + redis"

pogoappという新手のPaaSさんで WebアプリへのHTTPリクエスト振り分けに nginx + lua + redis を使ってる、という記述をみつけましたhttp://www.pogoapp.com/ Incoming HTTP requests are handled by a pair of dynamic web proxy servers, backed by nginx+…

Cloud Foundry + nginx + lua

hsbtさんに「Cloud Foundry が nginx + lua 使ってるよー 」と教えてもらいました。(画像引用: http://communities.vmware.com/themes/cto/static/CF_April_11_Event.pdf )確かにある。ちゃんと名前書いてないけど https://github.com/chaoslawful/lua-nginx…

ruby で cgroupのeventfd通知機能利用して メモリ使用量や OOM Killer を監視する

Linux Containerでも使われている cgroup には 、メモリ使用量が閾値より高くなったか/低くなったか や OOM Killer が発生したかどうか といったイベントを eventfd を通じて受け取れるようになっています。この仕組みを ruby から扱う方法を調べてみました…

[ruby] rubyで unsahre(2) 呼び出して マウント名前空間を分離する

ruby で unshare(2) というシステムコールを呼び出してマウント名前空間を変えてみる小さいコード書きました。unshareについては http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/unshare.2.html コード たぶん rubyあんま関係無い # /usr/include/a…

ruby facter の罠

puppetでも使われてるシステム構成情報をいい感じに取ってくれる rubyのfacterというgemがありますが、なかなかワイルドな人です * llib/ruby/gems/1.9.1/gems/facter-1.6.8 module Facter # 中略 # Set LANG to force i18n to C # ENV['LANG'] = 'C' #!/usr…

カジュアルに Nginx で Lua したい -- openresty(ngx_openresty) 使う

openresty(ngx_openresty) として配布されてる tarボールを使うと 手っ取り早く Nginx で Lua +α する環境が作れます。超便利。 一例: OSXの場合 事前に homebrew も入れておいてね brew install prce wget http://agentzh.org/misc/nginx/ngx_openresty-1.0…

ruby1.9.* で lxc-attach のバインディング書いてみたら動かなかったので カーネルまで追って調べたログ

LXC(Linux Container) で lxc-attach というコマンドが提供されています。シェルを介すると扱いにくい場面があるので rubyから直接扱えるようにC拡張を書いてみました。....のですが 1.8系だと動作し 1.9系だと動かなかったので原因を追ってみました。rubyの…

mac の zsh で、表示されてるコマンドラインを手早くクリップボードにコピーしたい

# 名前はなんでもいい pbcopy-buffer(){ print -rn $BUFFER | pbcopy zle -M "pbcopy: ${BUFFER}" } zle -N pbcopy-buffer bindkey '^x^p' pbcopy-buffer ↑ を読み込んで、 Ctrl + X Crtl + P を押す。 するとコマンドラインを実行せず、表示したまんまでク…

nginx + lua + redis のやつ

自分が書くよりずっと前に http://openresty.org/#DynamicRoutingBasedOnRedis でほとんど同じ内容のエントリがあがってました ( こちらの例では HTTPヘッダのHost名でなくて User-Agentでルーティングしてますが)なんかパクったみたいで恥ずかしい! 無いと…

lua-nginx-module tips - luaで動的にNginxのドキュメントルートを変更

Nginxのlua-nginx-moduleでドキュメントルート(root)は変更できるのかと、同僚 id:lamanotramaさんに質問もらってたので検証です。ちょっと前に書いた lua-nginx-module の紹介 ならびに Nginx+Lua+Redisによる動的なリバースプロキシの実装案 と比べて小粒…

lua-nginx-module の紹介 ならびに Nginx+Lua+Redisによる動的なリバースプロキシの実装案

Nginxは非常に強力なhttpdですが、独自のモジュールを実装しようとするとこれまた非常に敷居が高い印象です。 追記 この記事よりも前に http://openresty.org/#DynamicRoutingBasedOnRedis でほとんど同じ内容のエントリが書かれていました。こちらも参照く…

寿司ダイアリー

寿司ブログからお誘いがこないので ランチで寿司を食べた。

MacBook Pro, MacBook air (Snow Leopard) のバッテリーの容量を半年程モニタしたグラフ

mac

私物のMacBook Pro (13inch) , MacBook air (11inch) と、会社で私用している MacBook Pro (15inch) のバッテリー容量を 半年程 はてなグラフに数値を投稿してモニタリングしていたので 公開します。 発端 Macのバッテリーに関する情報は /usr/sbin/ioreg を…