2013/01/10


mruby 使ってると良く CD-ROM を取り出したくなりますよね。
ならないとしたら、今すぐこの記事を読むのをやめて病院に行って下さい。

mattn/mruby-eject - GitHub
https://github.com/mattn/mruby-eject
インストールすると eject という命令が追加されるので #!mruby

eject
と書くだけで CD-ROM トレイがゲロっと排出されます。

便利ですね!

例えば mruby で sinatra っぽく書けるフレームワーク、mruby-sinatic を使って #!mruby

get "/eject" do
  eject
end

Sinatic.run
こう書くと、ブラウザから http://127.0.0.1:8888/eject にアクセスするだけでイジェクト出来る様になります。
皆さんもぜひ、使ってみて下さい。
Posted at by



2013/01/09


canything: CUIでAnything

コマンドラインからEmacs Anythingを使えるプログラムです。 zshの補完でも十分だが、Anythingのインターフェースの方がある場合にはすぐれているので作った。 パイプ専用なので汎用的に使えると思います。

http://filmlang.org/soft/canything
そう言えば昨日、canything を windows でも動かせるようにパッチ書いて pull-req 送って取り込まれた。
keiji0/canything - GitHub
https://github.com/keiji0/canything

ls | canything | xargs cat
こんな風にパイプで囲まれた時に pdcurses が初期化出来ないっていうエラーに悩まされたけど、CreateConsoleScreenBuffer で新しい端末バッファを作って SetStdHandle で割り当てて、かつ CONIN$ を freopen してキー入力を stdin から取るという荒技を使って乗り越えた。
上記の様な場合でもちゃんと動きます。
canything

追記
共有読み込みモードにしないとckwでハングするらしい。
パッチ書いてpull-req送った。
Posted at by



2012/12/25


github で git diff from..to を表示する - #生存戦略 、それは - subtech

で text/plain な diff が表示される。.. じゃなくて ... 。

http://subtech.g.hatena.ne.jp/secondlife/20121225/1356421602
github のコミットページ URL は、実は凄く良く出来ている。 例えば pull request のページ
Add each Gem bundled data pointer in mrb_state by masuidrive - Pull Request #605 - mruby/mruby - GitHub

Showing 17 changed files with 183 additions and 36 deletions . Show Diff Stats Hide Diff Stats 5 &#x...

https://github.com/mruby/mruby/pull/605
このページの URL に .diff を付けると text/plain な差分表示になる。

https://github.com/mruby/mruby/pull/605.diff

また .diff の代わりに .patch を付けるとメールアドレス入りのパッチファイル。

https://github.com/mruby/mruby/pull/605.patch

つまりローカルリポジトリに pull request をマージするのは # curl -s -L https://github.com/mruby/mruby/pull/605.patch | git am - とやるだけでよいし cherrypick は pull request のうちの一つのコミットの URL を開いて .patch を足し、その URL で git am - すれば良い。
curl -s -L https://github.com/masuidrive/mruby/commit/70b422a6f240a201993e75935b55a8dd497eb098.patch | git am - さらに「あーこの人の pull request、良いんだけど typo ってるなー。でもこの人、週末にしか push してこないよなー。いますぐ修正したいなー。でもこっちで直したらせかっくの contribute が無くなるなー。」って時には、この patch ファイルをダウンロードしてちょっと修正して git am すればよい。ちなみにこれやると相手のブランチが意味を成さなくなるのでマージしたら必要無くなる様なトピックブランチでやること。
Posted at by