3 月 31

Happy Hacking Keyboard Lite2 を使い始めて、手首を浮かすことがだいぶ少なくなったので、手首が腱鞘炎っぽくなることがほぼ無くなった。
それでも今度は、Emacs 使いの所為か左手小指にかなり負荷がかかっていて、
一日の終わりに頭よりも目よりも先に、左小指が一番最初にガタが来る症状に悩まされたあげく、自分なりの解決策にたどり着いた。
解決策:一番丈夫なのにスペースキーくらいしか叩いてない親指に働いてもらう
↑の画像のようにキーを入れ替える。
- 半角/全角 → 左Alt
- 無変換 → 左Control
- 変換 → 右Control
- カタカナ/ひらがな → 右Alt
- 左Alt → メニュー
- ;(セミコロン) → Enter
- Ctrl+;(Ctrlを押しながら;) → ;(セミコロン)
キーの入れ替えには「窓使いの憂鬱」というソフトを使用。
このソフトはかなり便利で、いろんなソフトで Emacs ライクなキーバインドを使える。
窓使いの憂鬱の設定ファイル .mayu に以下を追加。
mod control += 無変換 # 無変換 を LControl に
key *無変換 = *LControl # 〃
mod control += 変換 # 変換を を LControl に
key *変換 = *LControl # 〃
mod alt += ひらがな # ひらがな を LAlt に
key *ひらがな = *LAlt # 〃
if ( HHKBLite2 )
mod alt -= RAlt # RAlt を 右クリックメニューの出るやつに
key *RAlt = *APPS # 〃
mod alt += 半角/全角 # 半角/全角 を LAlt に
key *半角/全角 = *LAlt # 〃
key Escape = &Default # Escape を元に戻す
endif
if ( LetsNoteCFY2 )
key *半角/全角 = *Esc # 半角/全角を Esc に
#key *Esc = *半角/全角 # Esc はそのまま
key *Escape = *Escape # Escape を元に戻す
endif
key *IC-SemiColon = Enter # セミコロン を Enter に
key *IC-C-~S-SemiColon = SemiColon # Ctrlを押しながらだとセミコロンに;
#key *IC-C-~S-I = Tab # Ctrlを押しながらだとTabに
↑の設定では、デスクトップの HHKBLite2 と、Laptop の Let’s note CF-Y2 で同じ設定を共有できるように、
デスクトップで使用する場合は、シンボルに HHKBLite2 を、
Laptop で使用する場合は、シンボルに LetsNoteCFY2 を定義して切り分けるようにしてある。
これで、Control キーを押しっぱなし、Alt キーを押しっぱなしといったことがほとんど親指の仕事になったので、
左小指への負担はだいぶ軽減された。相当酷使しない限り今のところ平気。
あとは、さらに小指の負担が減るように、 Ctrl+i で Tab になるようにしてある。
「窓使いの憂鬱」を使い始めて、何も Happy Hacking Keyboard Lite2 じゃなくても、
同じくらいか、もう少し小さめのキーを押しやすいキーボードがあればそれでいい気がしてきた・・・。
英語版キーボードも、スペースキーの周りにもっとキーがいっぱいあればな・・・。
関連:キーボード(Happy Hacking Keyboard Lite2)
3 月 31

今現在、デスクトップPC用のキーボードで Happy Hacking Keyboard Lite2 の日本語配列を使用中。(キーを入れ替えて使用)
選んだ理由は、使い始めた当時、Happy Hacking Keyboard は使いやすいと噂で聞いていたのと、
Happy Hacking Keyboard Professional が英語配列しかなくて、しかも高かったので、 HHKB Lite2 を選択。
Continue reading »
3 月 26
Meadow で、 dired から外部のプログラムへファイルを送る実験。
CraftDrop というコマンドラインからファイルを、起動中のプログラムへファイルをドラッグ&ドロップするプログラムを使用する。
cdrop.exe, cdropopt.exe, cdrop.dat(←cdrop.exeを初回起動時に作成される) を PATH の通ったところにコピー。
(めんどかったので、meadow/bin に放り込んだ)
.emacs に↓を追加:
;; dired で "c" でファイルを CraftDrop 送り
(add-hook 'dired-mode-hook
(lambda ()
(local-set-key "c" 'dired-exec-craftdrop)))
(defun dired-exec-craftdrop ()
"In dired, execute CraftDrop"
(interactive)
(craftdrop (dired-get-filename)))
;; 現在の行のファイルを craftdrop 送りにする
(define-process-argument-editing "/cdrop\\.exe$"
(lambda (x)
(general-process-argument-editing-function x nil nil nil)))
(defun craftdrop (&optional fname)
(interactive)
(if (not (file-exists-p fname))
(message "%s can't open." fname)
(setq fname (unix-to-dos-filename fname))
(let ((w32-start-process-show-window t))
(apply (function start-process)
"cdrop" nil "cdrop.exe" (list fname)))))
C-x d で dired を起動して、何かファイルにカーソルを合わせた状態で c を押すと、そのファイルを CraftDrop 送りにできる。
CraftDrop をまだ、ちゃんと使ってないので、このコードが活きてくるのか不明・・・。
参考にしたサイト:
3 月 04
※昔の記事を復活(※2004/03/29頃の話を復活させた)
クイックスタート
DUnit がどんなものなのか、ここで少し体験してみます。
新しいプロジェクトを作成して、 1 + 1 = 2 となることを確かめるサンプルです。
※Delphi 7 を使って作業をしてます。
Continue reading »
3 月 04
※昔の記事を復活(※2004/03/29頃の話を復活させた)
DUnit とは、Delphi 用の xUnit です。
※Delphi4以降 or Kylix で使用できます。
DUnit にもいくつか種類があるみたいなんですけど、
一番使われていそうなのが今から紹介する DUnit です。(※2004/03/29頃の話)
ここでは、Windows 用の Delphi 7 Professional を使って説明をしていきます。
Continue reading »
3 月 03

TortoiseSVN をある程度自動化できるらしい。
C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe を使って自動化する。
例: commit を自動化。D:\Home\project01 にあるプロジェクトのフォルダを右クリックしてコミット、という動作を自動化。
- C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe のショートカットを作成。
- ショートカットのプロパティを開いて、リンク先を編集して、↓の様にする。
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"D:\Home\project01" /closeend:0 /notempfile
update するとき:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"D:\Home\project01" /closeend:2 /notempfile
check for modification で変更されたファイルをチェックする:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:repostatus /path:"D:\Home\project01" /closeend:0
ログメッセージを見る:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:"D:\Home\project01" /closeend:2 /notempfile
export する(D:\Home\project01 のプロジェクトを D:\Home\exports\project01 にエクスポート):
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:dropexport /path:"D:\Home\project01" /droptarget:"D:\Home\exports\project01" /closeend:0 /extended /notempfile
このショートカットを、Launchy とかに登録すると便利。
3 月 03
Launchyは便利なランチャー。
Alt-Space(デフォルトでは) を押すと↓のようなのが出てきて、そこにコマンドを打ち込んで起動できる。

↑は emacs と打ち込んで Meadow を起動するところ。
Launchy から起動できるコマンドはショートカットをコピーするだけで追加できる。
Launchy の窓を右クリックして Options を選ぶと、ショートカットを追加できるディレクトリが追加変更できる。
メモ帳へのショートカットをコピーして notepad と言う名前に変更すれば、Launchy 上で notepad と入力するだけでメモ帳を起動できる。
デフォルトでFirefox や IE などのブックマークも起動できるようになっているけど、個人的にじゃまなのでWebyプラグインをOFFにして無効にした。
よく使うプログラムのショートカットをどんどんコピーしておくと、かなり便利。
3 月 02
WSH で Perl を使えるようにできるらしい。
デフォルトはで、WSH には VBScript と JavaScript が使える。
WSH で Perl を使えるようにするには、ActivePerl をインストールすればいい。
そうすると、 pls という拡張子のファイルが WSH(Perl) のファイルと認識されてダブルクリックで実行できるようになる。
hello.pls
#!/bin/perl -w
our $WScript = $WScript;
use strict;
use warnings;
$WScript->Echo("Hello World!");
- 1行目のshebangは無くていい。
- use strict; を使いたい場合は、use strict; よりも前の行で、our $WScript = $WScript; としないと変数が宣言されてないといわれてエラー。
- 実行するにはダブルクリック。
3 月 01
※新しい php-mode.el (2008/04/30)
PHP を使うことになったので emacs の php-mode を入れてみたけど、非常に使いにくい状態。
不満噴出で、いろいろ調べて既存の2つの php-mode をくっつけて修正したバージョン。
php-mode.el ver 0.0.4 と php-mode.el var 1.2.0を混ぜて少し修正。
meadow で動作確認。
site-lisp に php-mode.el をコピーして、
.emacs に以下の行を追加。
(autoload 'php-mode "php-mode" "PHP mode" t)
(setq auto-mode-alist
(cons '("\\.\\(php\\|php5\\|inc\\)$" . php-mode) auto-mode-alist))
(add-hook 'php-mode-hook '(lambda ()
(setq php-intelligent-tab nil)
(setq intelligent-tab nil)
(setq indent-tabs-mode t)
(setq c-basic-offset 4)
(setq tab-width 4)
) t)
3 月 01

http://ja.wordpress.org/ から wordpress-2.3.3-ja.zip をっとってきてインストール。
けれども、インストール画面 wp-admin/install.php へアクセスすると長時間待たされたあげく、 Internal Server Error を吐いて終了してしまう。
コードを追っていくと、wp-includes/wp-db.php の164行目付近の error_log($error_str, 0); から戻ってこない。どうやらこれをコメントアウトする必要あり。
error_log($error_str, 0);↓
//error_log($error_str, 0);
これで、インストールが問題なく進む。無事インストール完了。
おそらく php.ini の error_log 辺りの設定をちゃんとすればいいのだと思うけど、ひとまずこれで。