2008-03-24

Mac OS X で関連付けを変更

ファインダーで

ファイルを選択し,[情報を見る] を実行する.[このアプリケーションで開く] 区画でアプリケーションを選択し,[すべてを変更] ボタンを押す.

2008-03-23

Mac OS X の初期設定 (Tiger)

クリーンインストール

住所などの個人情報入力画面は Command-Q で回避できる.

USB Overdrive

システム環境設定

Dock
  • [Dock サイズ] を最大
  • [画面上の位置] を [左]
  • [Dock を自動的に隠す/表示] を on.
Spotlight
  • [Spotlight メニューのキーボードショートカット], [Spotlight ウインドウのキーボードショートカット] を off.
キーボードとマウス
  • [キーボード] タブ > [すべての F1, F2 ...] を on.
  • [キーボードショートカット] タブ > [フルキーボードアクセス] を [すべてのコントロール] に.
省エネルギー
  • [コンピュータがスリープするまでの待機時間] を [しない] に.
  • [ディスプレイがスリープするまでの待機時間] を [しない] に.

ターミナル

ターミナル>ウィンドウ設定

シェル シェルの終了時 ウィンドウを閉じる

ディスプレイ アンチエイリアス, ワイドグリフは2桁

文字セットエンコーディング EUC

フォント: Monaco 13

ウィンドウ 120x41

SKK

変換中に Return で確定しても改行しないようにする

メモ

OnyX

ターミナル→ウィンドウ

ssh

ASCII キーボード

Alt-F1 でアプリ内ウィンドウ切り替え

2008-03-19

X のフォント

X のフォント関係はややこしい.

  • 発端: Xming で接続し,GVim を起動したところ,メニューやタイトルバーのフォントがアンチエイリアスされていなかった.
  • Xming で XDMCP で接続し,KDE を起動するとアンチエイリアスされている.しかし,GTK アプリケーションを起動するとアンチエイリアスされていない.
  • Xming で XDMCP で接続し,Gnome を起動してもアンリエイリアスされていない.Gnome 設定でフォントを変更するとアンリエイリアスされた.
  • KDE に戻ると GTK アプリケーションのフォントはやはりアンチエイリアスされない.
  • 新しいテストアカウントを作り,ドットファイルなしで GTK アプリケーションを起動するとアンチエイリアスされていた.
  • 自分のアカウントの .fonts.conf を消すとアンチエイリアスされた.
  • .fonts.conf は KDE Control Center で設置され書き換えられるのでどのようにすればいいのだろうか?
  • 関係ないが,Xming の dpi の初期値が 75 なのでフォントが小さい.100 にしたい.→[Additional parameters for Xming] にて [-dpi 100] を設定すればよい.
  • XDMCP のときはどうすればいいか?

この後次のようなことが発生した.

  • XDMCP でログインできなくなった→テーマをひまわりのやつにするとログインできないことが判明(!).
  • gvim で日本語フォントを選ぶと1バイト文字がバン広に表示されるようになった.
    • ひとつの原因はプロポーショナルフォントを設定したことによる.Osaka-等幅のようなフォントを選ばなくてはならない.
    • ただ,Osaka-等幅を選んでもうまくいかない!!これは,日本語ロケールで gvim を起動し,Osaka-等幅を選ぼうとするのだが,なぜか Sans にフォールバックしてしまうのが原因.もう一度フォントの選択ダイアログを開かないとわからなかった.
    • 結論: 英語ロケールで gvim を起動すると Osaka-Mono という名前で選択できる.選択した後 :set guifont? で設定されている文字列を調べて .gvimrc に記述すればよい.
      set guifont=Osaka-Mono\ 11
      

2008-03-17

Xming はじめの一歩

  • Xming - PC X Server から Xming と Xming-fonts の public release をダウンロード.
  • PuTTY をインストールするかと聞かれるが,既にインストールしているはずなのでインストールしない.
  • フォントは全部選択する.
  • スタートメニューから XLaunch を起動する.
  • [Multiple windows], [Start a program], [kterm], [Using PuTTY (plink.exe)] を選択する.
  • [Connect to computer] に [hostname], [Login as user] に [username], [Password] に [] を入力する.
  • [Additional parameters for PuTTY or SSH] に [-i d:\etc\id_dsa.ppk] を入力する.
  • [Additional parameters for Xming] に [-dpi 100] を入力して 100dpi として起動したほうがいいと思われる(2008-0319 追記).

これで kterm が表示されるはずだが,うまくいかない(黙殺される).

問題はサーバ側で X11Forwarding を受け入れないようになっていたことであった.

$ sudo vi /etc/ssh/sshd_config
X11Forwarding yes

とする.

Debian で XDCMP を開放するにはどこをいじるんだろう?

→(2008-0319 追記) コンソールの gdm で [Configure Login Manager...] を選択する.[Remote] タブの [Style] から [Same as Local] を選択する.これらの設定は /etc/gdm/gdm.conf に保存されるので,これを直接書き換えてもよい.変更した後は sudo /etc/init.d/gdm restart が必要な模様.

Linux の inotify

Linux kernel 2.6.13 で inotify と呼ばれるファイルシステム監視機能が導入された.

試してみる.

$ sudo aptitude install inotify-tools
$ inotifywait -m /tmp &
$ touch /tmp/hoge
/tmp/ CREATE hoge
/tmp/ OPEN hoge
/tmp/ ATTRIB hoge
/tmp/ CLOSE_WRITE,CLOSE hoge
$ ls /tmp/hoge > /dev/null
/tmp/ OPEN,ISDIR
/tmp/ CLOSE_NOWRITE,CLOSE,ISDIR
$ kill %1

実地の利用には incron, inoticoming, iwatch などのツールがある.

例: blaise での www/i の監視.

$ inoticoming --logfile $HOME/var/log/inoticoming $HOME/www/i \
              --prefix 200 --chdir $HOME/www/i sh update.sh \;

2008-03-16

Firefox 2.0 の初期設定レシピ

基幹エクステンションのインストール

  • ブックマークの管理を起動し,全てのブックマークエントリとフォルダを消去する.
  • Google Browser Syncをインストール.
  • Tab Mix Plusをインストール.

オプション設定

  • 一般
    • [ホームページ]を設定.
    • [ファイルのダウンロード時にダウンロードマネージャを表示する]をoff.
    • [次のフォルダに保存する]にデスクトップ/workspaceを設定.
    • [起動時にFirefoxが既定のブラウザであるか確認する]をoff.
  • タブ
    • [同時に複数のタブを閉じるときは確認する]をoff.
    • [リンクを新しいタブで開いたとき,すぐにそのタブに切り替える]をon.
  • コンテンツ
    • [既定のフォント]の[詳細設定]で[対象言語][西欧]の[プロポーショナル]を[ゴシック体 (Sans-serif)]にし,[サイズ]を[18]にする.
    • 同じく[明朝体 (Serif)]を[Georgia]に[ゴシック体 (Sans-serif)]を[Verdana]にする.
    • 同じく[等幅 (Monospace)]の[サイズ]を[16]にする.
    • [対象言語][日本語]の[プロポーショナル]の[サイズ]を[18]にする.
    • 同じく[等幅 (Monospace)]の[サイズ]を[16]にする.
  • 詳細
    • [一般]タブの[自動スクロール機能を使用する]をoff.
    • 同じく[自動スペルチェック機能を使用する]をoff.

Tab Mix Plusのオプション

  • イベント | タブを開く
    • [新しいタブに]を[現在のページを複製して表示]に.
    • [複製したタブを元のタブの直後に開く]をoff.
  • イベント | タブを閉じる
    • [キーボードショートカットで最後のタブを閉じたとき,ウィンドウ自体は閉じない]をoff.
    • [現在のタブを閉じたとき,フォーカスを]を[直前にフォーカスしていた]に.
  • イベント | タブ機能
    • [Ctrl+Tabで最近表示した順にフォーカスを移す]をon.
  • 表示 | タブバー
    • [一段に収まらない数のタブを開いた場合,タブバーを]を[多段表示にする]に.
  • 表示 | タブ
    • [ハイライト]の[現在のタブ]をon.
    • [ハイライト]の[未読のタブ]をoff.
    • [スタイルをカスタマイズ]の[現在のタブ]を[太字][下線][文字色]赤に.
  • メニュー | タブのコンテキストメニュー
    • [新しいウィンドウに複製]をon.
    • [新しいウィンドウに移動]をon.

その他の拡張機能

  • All-in-One Gestures
  • Download Statusbar
    • [次の拡張子がつくファイルは自動除去]を[*]に.
  • Fasterfox
    • [最適化]を選択.
  • Fission
    • 色をオレンジに
  • Gmail Notifier
    • [アイコンをクリックしたときにGMailを]を[新しいタブに開く]に.
    • [アイコンをクリックしたときに未読数をリセットする]をon.
  • Greasemonkey
  • IE View
  • Image Zoom
  • InfoLister
  • Link Alert
  • More Tools Menu
  • Options Menu
  • Stylish
  • ViewSourceWith
  • Yahoo! Mail Notifier
    • [左クリック][Yahoo!メールを以下で開く]を[新しいタブ]に.

ツールバーのカスタマイズ

以下のアイコンをツールバーに追加(ドラッグアンドドロップ)

  • 新規ウィンドウ
  • 閉じたタブの復元
  • View Source With

2008-03-14

[読書] オブジェクト開発の神髄 UML 2.0 を使ったアジャイルモデル駆動開発のすべて

ストーリー

【1. 最先端のソフトウェア開発】 4つの開発技術 (オブジェクト,XML,RDB,Webサービス),4つの開発手法 (アジャイル,UML,統一プロセス,モデル駆動型アーキテクチャ) についての短評 (長所と短所の表).

【2. オブジェクト指向概念の基礎】 オブジェクト指向パラダイムの主要概念の説明.UML のクラス図,シーケンス図の基礎.関係の多重度.

【3. フルライフサイクルオブジェクト指向テスト (FLOOT)】 開発の全ての段階におけるテスト手法の羅列.

【4. アジャイルモデル駆動開発 (AMDD)】 かろうじて役に立つモデルのモデリングに関する大量のプラクティスの羅列.

【5. 利用モデリング】 ユースケースの書き方.UML のユースケース図.

2008-03-13

Subversion リポジトリのバックアップ

手順

ミラーリポジトリの作成.

# cd /usr/local/share/backup/svn
# mkdir srv-svn
# svnadmin create srv-svn

フックの設定.

# cd srv-svn/hooks
# cp pre-revprop-change.tmpl pre-revprop-change
# cp start-commit.tmpl start-commit
# chmod +x pre-revprop-change start-commit
# vi pre-revprop-change
# vi start-commit
# cd ../..

pre-revprop-change

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$USER" = "backup" ]; then exit 0; fi

echo "Only the user 'backup' may change revision properties" >&2
exit 1
start-commit
REPOS="$1"
USER="$2"

if [ "$USER" = "backup" ]; then exit 0; fi

echo "Only the user 'backup' may commit new revisions" >&2
exit 1

ミラーリポジトリの初期化.

# svnsync init file:///usr/local/share/backup/svn/srv-svn \
      http://www.example.com/svn/ --usrename backup --password PASSWORD

ミラーの実行.

# svnsync sync srv-svn file:///usr/local/share/backup/svn/srv-svn \
      --usrename backup --password PASSWORD