早寝

ぼくはこれまで、何度も早寝の習慣をつけようと試みてきたが、成功したためしがない。
それで、昨日の夜はこの状況を打破すべく、そのための方法を考えてみた。

思いついたのは、"Twitter で、毎日自動的に「『これから寝る』と書きこむ宣言」をする"
というもの。

カギカッコが多くてわかりにくいな。

毎日ある時間になったら、プログラムが Twitter に書き込みをする。
その内容は、
「自動書き込みです。この書き込みの直後に、本人がその時々の状況とともに
『今から寝ます』と書き込みます。」というもの。

こうすることで、プログラムの書き込みの直後に自分で「寝ます」と書き込みをする
動機を作り、そのことによって実際に寝るという行動を引き起こすことを狙っている。

これまでだいたい、ぼくがこういうことをやる時は WSHPerl の Win32::OLE で
IE をコントロールするというのがパターンだった。
しかし、なんとなくソースを見て押すべきボタンのIDを探して押すスクリプトを書くのが
面倒になったので、Serenium を使うことにした。

Serenium IDE という Firefox アドオンを入れることで、
Firefox でマウスのクリック・キーボードの入力といったものを記録することができる。
その記録した入力を Python などのスクリプト言語として出力して、
Serenium Server を立ち上げた状態で実行すると、その入力を再現することができる。

それで Twitter に書きこんだ時の入力を再現して、そのスクリプト
サーバの開始・終了で挟んだバッチファイルを作り、
それをタスクスケジューラに登録して終わり。
しかし、終わったころには夜中の 2時半ごろになっていた。
早寝のための対策で早寝ができなかったという…。

(2010/10/15追記)

インターフェイスになって Serenium スクリプトが動かなくなったため、結局 OAuth 対応することに。http://perl-mongers.org/2010/06/_perltwitteroauth.htmlを参考にした。