zzz

Macをコマンドラインからスリープさせる方法。
なぜそんなことをするかと言うと、

  • リッドクローズで使ってる時にスリープさせたい
  • マウスでスリープを選んでも、マウスに触れただけで起きてしまう
  • かと言ってBluetoothで起きないように設定すると、リッドクローズのまま起こす方法がない
  • 事前にマウスの電源を切ってからスリープさせたい(つまりマウスを使わずにスリープさせたい)
  • でもショートカットキーは覚えられない(Option+Command+Ejectらしい)

という訴求を満たすため。

前置きが長かったけど、スリープ自体は

osascript -e "tell app \"Finder\" to sleep"

でOK。BSD nomadだった頃を思い出して、.zshrcに

alias zzz="osascript -e \"tell app \\\"Finder\\\" to sleep\""

とか書いてzzzで寝るようにした。

20. 10月 2010 · Write a comment · Categories: Git

あらすじ:
git commit、git pushして作業終了

翌日、最後のcommitが気に入らなくなってgit checkout HEAD^

そのまま作業終了、commit

fast-forwardでpushできない!

昨日のことを忘れてmergeしたらconflictの嵐

\(^o^)/

解決編:

More »

開発環境はLinuxなのでgrowlはないんだけど、gnomeの通知システムにメッセージを送るnotify-sendというツールがある。
libnotify-binをインストールしておけば、

notify-send '送信したいメッセージ' -i "アイコン"

で通知を送ることができる。なお、アイコンは/usr/share/pixmaps/に置き、拡張子を除いて記述する。
(多分~/.usr/あたりにも置けると思う)

More »

TDD

トゥアハー・デ・ダナンではありません。
rspecで開発する際、今までruby script/spec なんちゃらかんちゃら…と手でいちいち実行してたけど、autospecを教えてもらったらとても便利だったのでメモ。
autospecはrspecかrspec-railsに入っているので、gemを入れてパスを通しておけば特に設定不要。RAILS_ROOTで

autospec

とやっておけば、modelやspecの変更を検知して勝手にテストが走る。
(あんまりこまめにセーブする人や、オートセーブにしてる人だとエラーが出まくって鬱陶しいかも)
screenを使っているので、

screen -t spec 5 autospec

とかやって新しいscreenで動かしてみた。
さらにgrowlやubuntuのnotifyに通知も可能だけど、autotestを入れないといけないようだ。(ZenTestをインストールすれば入る)
こっちはまだちゃんと設定してないので後日。

いやまぁ2.x系列では2.3.9が最新なんだけどね。
masterブランチが2.3.5のままになってたアプリがあったのでマージついでに2.3.8に上げたところ、mime typeがおかしくなった。text/plainで送られてしまってhtmlソースがでてる…
応急処置としてhttpd.confのVirtualhostでDefaultTypeをtext/htmlにして対応したものの、今度はセッションが正しく維持されてないことが判明。Firebugで確認するとCookieが全く送られていない。あちゃあ。
多分ヘッダだな。2.3.8でRackになったからだろうか。最初から2.3.8のアプリは問題ないような気がするんだけど…(詳しく調べてない)
開発環境では発生せず、mongrel_cluster+apacheで運用してる本番環境でのみ発生するのですぐには原因を追えない。とりあえずヤバいので2.3.5にロールバック。
うーん、さすがにもうmongrelはダメなのかな…