2010-07-11

ホビー/USB温度計・湿度計

ストロベリー・リナックスのUSB温度計・湿度計USBRHが届いたので記録ツールを作りました。

Strawberry LinuxのUSB温度・湿度計を買った - gaeeyoの日記あたりも参考にしたり。ただ、munin-node-win32を使うのは何となくイヤだったので、上述のツールを作ってみました。サーバー上へ送信してしまえば、あとはそちらのmuninで何とでも。

それにしても湿度がぐんぐん上昇中です。

2010-07-10

久しぶりの秋葉原

久しぶりに秋葉原へ行った。いくつか用があったからだ。

e-mobileのプランを変更した。本当は二年目を前にして解約しに行ったのだが、未使用月は基本料金(+ユニバーサル料金)が0円になるプランがあるようなのだ。ただし、ちょっとでも使うと4980円になるらしい。SIMが無くなると端末の通信機能(Wi-fi等も)がほとんど無効化されてしまうので、0円で維持できるのであればそれに越したことはない。まあ、使う予定はないのだけれど。

ラジオセンターへ行った。小さな基板を入れるための手頃なプラスチックケースを購入。

ヨドバシカメラでマウスを購入した。買ったのはMicrosoft Comfort Optical Mouse 1000。色々触った限り、最も中ボタンが軽く押せたものの1つ。もう一つ、同じくマイクロソフト製で中ボタンが軽いものがあったのだけど、若干大きかったのでこちらを選んだ。他の条件としては、ホイール回転にクリック感があること、手に合う大きさであること、できれば有線であること、があった。中ボタンが軽く、かつ、これらの条件を満たしているものはマイクロソフトの中の二機種しかなかった。

2010-07-07

七夕の虚しさ

などと言ってみたところで、身の回りに七夕らしさを感じるものなど一切無く、夜空を見上げることもなく、そもそも七夕が何なのかもよく知らず、知りたくもない、もっと言えば空の星に対して想像をたくましくして、いろいろなものになぞらえることの何が楽しいのか分からないような人間には虚しいだけなのであった。

2010-07-07

magit-0.8.1

magit-0.7からmagit-0.8.1へ入れ替えました。

shell-file-name(sh.exe)経由でgitを呼ぶコードは無くなったようなので、場当たり的なdefadviceを.emacsから削除しました。

0.8.1になっても画面を更新するときの待ち時間は相変わらずです。何にそんなに時間がかかっているのかよく分かりません。コマンドラインでgit diff等としてもすぐに結果が出ますし、remoteを定義していないローカルだけのリポジトリでもそんなに待ち時間は変わらないのでネットワークが絡む問題でもなさそうです。Meadow、NTEmacs23の間でもそんなに変わりません。ほかのOSだともう少し速いのでしょうか。

2010-07-01

anything.elでファイル検索(Windowsの場合)

anything-c-source-locateが働かなくて困った(Meadow3使用時)。anything-config.elによると、

;;; Locate
;; NOTE for WINDOZE users:
;; You have to install Everything with his command line interface here:
;; http://www.voidtools.com/download.php
(defvar anything-c-locate-command
  (case system-type
    ('gnu/linux "locate -i -r %s")
    ('berkeley-unix "locate -i %s")
    ('windows-nt "es -i -r %s")
    (t "locate %s"))
  "A list of arguments for locate program.
The "-r" option must be the last option.")

ということで、Everythingとes.exeをダウンロードして使ってみたが、IPCが云々と言われて動かなかった。Windows7だからだろうか。

Cygwin環境なのだからlocateを使えばいいじゃんと思いupdatedbして(日本語ファイル名でエラーが発生したためLC_ALL="C"にしなければならなかったのと、システム全体では時間がかかりすぎるのでホームディレクトリ内だけに限定したデータベースを作ったりして)試してみたら、どうやらそれなりに動作しているようだった(日本語は化けたけど)。

しかしupdatedbを定期的に実行するのは面倒だ。Cygwinのcronを使ったことはないし、あまり使いたくない。

そもそもWindowsの検索機能でホームディレクトリはインデックス化しているのだから、そちらを使えないものかと思い調べてみると、そのものズバリの記事が見つかった。

しかしこの記事で紹介しているPythonスクリプトはCygwinのPythonでは動かなかった(実際そう書いてあるし)。Win32ビルドのPythonをこれだけのためにインストールするのはためらわれたので、Visual C++で書き直してみた。

ADOって初めて使ったのだけど、案外簡単なのね。

2010-07-01

anything.el導入

もう何周遅れかわからないけれどanything.elを試してみた。

ずっと試してみるのをためらっていたのは、すごいすごいと聞くのだけれど、具体的に何をするものなのか説明を読んだだけではピンと来なかったからだ。

でも実際に入れてみて分かったのは、何でも開ける検索バーみたいなものなのかなということ。最近のWindowsはスタートメニューの検索ボックスでコントロールパネル内を検索できたりしてなにげに便利なのだけど(「環境変数」と打てば環境変数の変更がすぐできるとか)、そういう感覚と言えば近いだろうか。

「ファイルを開く」「ブックマークを開く」「バッファを選択する」「関数を呼び出す」等々、こういった操作を「M-x anything 名前(正規表現)」で統一的に実行できるわけだ。M-x anythingの部分は適当なキーに割り当てておく。anythingはswitch-to-bufferの代わりにもなるのでC-x bに割り当てる人もいるようだ。

しかし、このやり方には懸念もある。打鍵数の増加だ。様々なソースから検索するため名前が重複しがちであり、それを解決するには追加の打鍵が必要になる。

この懸念が本当か、使い続けてみないとわかりそうもない。

(setq anything-sources
      (list anything-c-source-buffers
            anything-c-source-bookmarks
            anything-c-source-locate
            anything-c-source-find-files
            anything-c-source-file-name-history
            anything-c-source-recentf
            anything-c-source-info-pages
            anything-c-source-man-pages
            anything-c-source-calculation-result
            anything-c-source-emacs-commands
            anything-c-source-google-suggest
            anything-c-source-occur))

とりあえずソースはこんな感じに設定してみた。C-x bに割り当ててしばらく使ってみることにする。

2010-07-01

7月

あっという間に今週ももう木曜日です。

仕事の方はちょうど1~2週間くらいの作業が終わったところです。思ったより時間がかかってしまったなと、カレンダーを見返したのですが、なるほど、通販作業等を手伝っていたからですね。

さて、次は何をしますかね。

2010-06-30

iarconvの改善

  • 変換指定ファイルのマクロ機能の強化(:for改善、ユーザー定義マクロ関数、STR組み込み関数)
  • 外部ファイルに基づく切り出し範囲指定
  • 読み込み時自動合成形式の追加

果てしなくやる気の出ない作業を何とか終わらせたので、何かミスがあるかもしれない。

2010-06-29

HTML5 Piano on Google Chrome

Google Chromeで動かないのを何とかしてみた。

ミニタイプの方は一応何とかなったけど、88鍵タイプはムリっぽい。

今回の改善点は3つ。

  • Chromeでオーディオの読み込みが終わらない問題を改善した。どうやら読み込みが終わる前にオーディオオブジェクトが解放されてしまう模様。弱参照とGCの兼ね合いみたいな感じ。鍵盤を表示するdiv要素のプロパティにオーディオオブジェクトを持たせるようにした。
  • 鍵盤数の少ないミニタイプを作った。Chromeではオーディオオブジェクトが多くなるとなぜか鳴らないものが出てくるみたい。鳴らないAudioオブジェクトのプロパティを表示して調べてみたが原因は分からなかった。読み込み状態や音の長さ(duration)は正しい値を返すし、再生するとcurrentTimeがちゃんと増加する。でも音は鳴らない。個数制限でもあるのだろうか。
  • ミニタイプではオーディオの巻き戻し(先頭へのシーク)をAudio.load()で行うようにした(つまり、押す度に読み込み直すようにした)。Audio.load()を連発するとメモリ消費量はどんどん増加していくみたいなのだけど(Firefox, Opera使用時)、Chromeではこの方法でないと妙なレイテンシー(?)が発生して聞けたものじゃなくなる。

※Google Chromeでの動作確認はバージョン6.0.447.0(Windows版)で行った。