今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

TODO 管理 に Emacs の ORG-Mode を使ってみる

TODO 管理ツールって、なかなかいいのがない。
この前、はてなブックマーク人気エントリーからEmacs ユーザーの方に質問です。これは便利! と思える elisp プログラムを教えてください。ってのを発見。その中にあったORG_mode_Manual - Emacsでアウトライン ORG-Mode マニュアルの翻訳というサイトを見て、ORG-Mode を TODO 管理ツールとして使い始めてみた。
使ってみて気付いたのは、Emacs 上で動作することの重要さ。これだったら、単純に Emacs のバッファを切り替えるだけで TODO 管理ができてしまう。しかも、テキストを編集するためのキーアサインが慣れている Emacs キーアサインのままなのもいい。テキストだけなのでとても軽いのもいい。電話をしながらのメモにも使え、そのまま TODO 項目にもできたり。
で、たくさんの TODO 項目が増えてしまって追いきれなくなってしまう罠。

受信トレイのメールが消えた?

Thunderbird を使っていた。別のフォルダのメールを見た後、受信トレイをクリックしたら、ひとつもメールを表示しない。表示は「すべて」になっているのに。
Thunderbird を再起動してみたら、2003年のメールが数通だけ表示された。なんか変。
よく見ると、画面右上のアイコンみたいなところがクリクリ回っている。何か考え事をしているらしい。しばらく(5分くらいか?)待ってみたら、クリクリが止まって全部のメールを表示してくれた。
たぶん、インデックスか何かが壊れて再構築してたんだろう。

潜在バグの顕在化

数年前に書いたコード。

            long now = System.currentTimeMillis();
            if (lastTime + interval * 1000 < now) {
                // interval秒間隔でやりたいこと
            }

最近になって、この「interval秒間隔でやりたいこと」が interval よりも長くかかる現象が発覚した。本来は、

            long now = System.currentTimeMillis();
            if (lastTime + interval * 1000 <= now) {
                // interval秒間隔でやりたいこと
            }

と、書かれるべきコードだった。
昔はパソコンが遅かったので、顕在化しなかったらしい。