2008/07/05(Sat)AnkhSVNとTortoiseSVN併用時の注意

2008/07/05 23:13 Software::Windows
つい最近、TortoiseSVN 1.5.0が公開された。
お、最新版か、と思って1.4.8からサクっと更新したのだが、AnkhSVN 1.0.2でエラーを吐くようになってしまい、どうにも使い物にならなくなった。

Subversion管理のプロジェクトをAnkhSVNに読ませると、
This client is too old to work with working copy; please get a newer Subversion client.
と文句を言われる。

TortoiseSVNになってから色々と機能が増えたようなので、バージョン互換がなくなったような感じなのだが、AnkhSVNのstable最新版は1.0.2のまま。
とりあえずDiary ReleasesのNightly Build "AnkhSvn-Daily-2.0.4523.90.msi"を入れてみてエラーが出なくなった模様。
たまに[Project File]-[Subversion]の項目を選ぶとこういうエラーが出るけどな。
System.ArgumentNullException: 値を Null にすることはできません。
パラメータ名: path
   場所 Ankh.StatusCache.FileStatusCache.get_Item(String path)
   場所 Ankh.Commands.ReverseMergeCommand.OnUpdate(CommandUpdateEventArgs e)
   場所 Ankh.Commands.CommandMapItem.OnUpdate(CommandUpdateEventArgs e)
   場所 Ankh.Commands.CommandMapper.PerformUpdate(AnkhCommand command, CommandUpdateEventArgs e)

と、書いてから、こちらに紹介されていることに気がついた。もっとググらなきゃなぁ…。

2008/07/03(Thu)zshでセグメンテーション違反

2008/07/03 23:29 Software::Linux
長い間bashをカスタムして使っている私ですが、補完がウワサのzshに乗り換えようかと思ってるものの、なかなか設定ファイルがうまく書けないので乗り換えられません。

今日こそは、と.zshrcをいろいろ弄ってみたのですが、なんとシェルで日本語を入れるとセグメ違反になってしまうことが発覚…^^;

zsh_prob_jpn.png

---(bash)---
$ ls -l
$ cat 日本語.txt
$ zsh
---(zsh)---
$ ls -l
~ここではちゃんと日本語が見えている~
$ cat 日本語
↑「にほんご」の変換を確定した時点で"セグメンテーション違反です"

えーと、どうすればいいんでしょうか…。
LANG=ja.JP_UTF-8、zshは4.2.6な環境です。

2008/06/24(Tue)Windows操作術

2008/06/24 1:05 Software::Windows

知らなかったショートカット

長年Windowsを使っていても、知らないショートカットキーというものはあるものだな…。
  • [Alt]+[Esc] = 現在の窓を最小化
[Alt]+[Space]→[M]とやるより、便利そう。
  • 文字変換の確定後 [Ctrl]+[Backspace] = 未確定に戻す
確定後の文字上で[変換]を押すと再変換できるのは知ってたが…

日常的によく使用するショートカットキーのご紹介

以下は私が日常的によく使うショートカットキー。
2,3度意識的に使って覚えると、ぐっと操作性が上がります。
  • [Win]+[R] = ファイル名を指定して実行
これがないとWindowsで生きていけない。軽く履歴を見たら、putty, cmd, calc, mspaint, notepad, terapad, hidemaru, fasthash, winword, excel, visio, psp, sleipnir, iexplore, tasks, dxdiagと、フォルダを直に開いてた。*1
  • [Win]+[D] = デスクトップを表示
トグルします。ちなみに[Win]+[M]だと、[Shift]+[Win]+[M]で復帰。押しにくいので使ってない。
デスクトップの物をウィンドウ内にドラッグするとき、「"Win+D"→アイテムをドラッグ状態のまま保持→"Win+D"→対象窓にドロップ」をよく使います。
  • [Win]+[L] = コンソールロック
ちょっとトイレに立つときとかは必須。簡単にコンソールをロックできるので便利です。
  • [Ctrl]+[Shift]+[Esc] = タスクマネージャを開く
[Ctrl]+[Alt]+[Del]が押しにくいので。左手の親指でCtrlとShiftを同時に押しながら(なんという横着…^^;)、人差し指でEsc押しますね。
この操作法には便利なことが一つあって、タスクマネージャはEscで閉じられるので、Ctrl+Alt+Delに対して、指の移動が全く要りません。
  • [F2] = ファイル名を変更
右クリックから名前の変更を律儀に選ぶ人がいますが、右クリックメニューが表示されるのを待つのが嫌だ。同様に、フォルダを作る時は、[Alt]+[F]→[W]→[Enter]とか。プロパティは、[Alt]+[Enter]とか。
が、[Alt]+[Enter]はたまにAltキーがうまく押せてなくて誤爆することがあるので、サイズの大きなExeとかで押す場合には細心の注意を。

*1 : 後から自分が追加してそのまま起動できないものは、C:\Documents and Settings\<ユーザー名>\に、"省略して使いたい名前.lnk"というショートカットを作っておくと起動できるようになります。:-)

欠かせないコレ

後はそうねぇ、FileVisor6ってファイラーを愛用。
エクスプローラみたいにトロトロしないし、リスト一覧で以下のワンキー押すだけで操作がササっと行われるので、Windows 3.1時代から愛用してます。
エクスプローラに飽きた人なら、十分レジストする価値あり!体験版使ってみてください。

ファイルリスト画面から、各ファイル操作は基本的に指一本。
  • [m] = 移動のダイアログ表示
  • [c] = コピーのダイアログ表示
  • [x] = このフォルダから実行
  • [v] = 対象ファイルを内蔵ビューワで高速表示。(絵でもテキストでも…)
  • [e] = エディタを起動(関連付けされたものを)
  • [a] = 強力な属性変更(システム属性の操作)と、作成/更新日時等の変更
  • [b] = バイナリダンプ
  • [k] = ここにフォルダ作成、フォルダ名指定のダイアログ表示
  • [w] = フィルタリング(ワイルドカード使用可能)
  • [z] = 条件マッチを選択(ワイルドカード使用可能)
  • [t] = 任意の名前の空ファイルを作成
  • [l] = 任意の場所にcdするダイアログ表示
  • [Ctrl]+[A~Z] = 指定したドライブを開く
など。無論、キーアサインは変更可能、まだまだ機能盛りだくさんです。

2008/06/22(Sun)screen暴走?

2008/06/22 3:23 Software::Linux
ずっと動きっぱなしでこれからの夏の温度上昇が心配なうちのサーバーですが(このmo.kerosoft.comの運営も担ってます)、3週間ほど前からswap領域が肥大してるのが気になっていました。(実メモリ領域は普段通り適度にcached状態)

実メモリ512MBってのは自分の使い方だと厳しいのかなぁ…と思ってましたが、rootさんになって色々探ってみると、どうやらscreenが500MB以上swappingしているようだ。
screenの便利さに慣れてから、一ヶ月以上も立ちあげっぱなしで、使うたびにdetach/attachしまくっているのは、作った人間としては想定している使い方のはずだけどなぁ…。

# swapoff -aで実メモリが確保できないほどに膨らむってのはいかがなものか…。

vimの中断状態や、ほかのサーバーにログインしていたウィンドウを次々閉じて、screenを起動しなおしてみると、一気に解放された模様……。なんだったんだ??

screen_memswap.png



この後、一応# swapoff -a# swapon -aをして、swapを空に片づけておきました。
やれやれ。

余談

どのプロセスがスワップしまくっているかを調べるのは、psコマンドにcをつけると便利です。
$ ps axuc | lvとでもして、VSZ列を眺めてみてください。(単位KB)

2008/06/22(Sun)MP3のIDタグの文字コード

2008/06/22 3:02 Software::Linux
私は、多くの(韓国原産が多い)MMORPGの音楽を作っているSoundTeMPというグループが好きなので、よくMMORPGのクライアントから引っ張り出しては聞いています。
メジャーなタイトルでは、Ragnarok OnlineTalesweaverがありますかね…。
日本語バージョンも稼働しているので、あー、あの音楽ね!とお思いの方も多いのではないでしょうか。


が、昔の方にリリースされたmp3には、タグがUTF-8ではなくEUC-KRで書き込まれており、Windows Media PlayerやWinampどれで再生しても、化けてしまいます。

hangeul_in_wmp_before.png


EasyTAG

前々から、MP3のIDタグの文字コードを変換できんもんかなぁ…と思っていたのですが、Linuxで動くいいソフトがありました。EasyTAGってやつです。

操作は非常に簡単で、文字コードの強制読み込み&変換指定をしてやるだけです。
ちなみにインストールも簡単です。yumで一発。
yum install easytag
あと、韓国語を扱うので、
yum install fonts-korean
が必要です。

設定

まず、起動したら、ホームディレクトリ以下をガリガリ読み始めてウザいので、設定でサブディレクトリを読まないように変更します。
ま、本質とは関係ありませんのでお好みで。
easytag_option1.png


あと、フォルダを移るたびに、変更を保存するかと聞かれますが、この時点ではすべてNOと答えておきましょう。

次に、読み込む文字コードを適切に設定し、出力をUTF-8にしてやります。
こうすることで、日本語環境のWindowsやLinux、Macでも(おそらく)文字化けすることなく読めると思います。
easytag_option2.png


フォルダを変更したい場所に合わせて読み込むだけで、タグの文字化けが直って表示されていると思います。
後は、ファイルメニューから、"ファイルの強制保存"を選びましょう。
easytag.png


できあがり。

文字化け解消後

完全ですね……。フフフ。
EUC-KRのハングルだけでなく、化けていた漢字もUTF-8にて復活しました。
※余談ですが、Windows Media Playerはプレイビューの幅を広げると、アーティスト列が現れます。この間たまたま気がついたけど、ずっとXP使ってたのにそれまで全然知らなかった…。
hangeul_in_wmp_after.png


注)Windows Media Playerのタグ情報を更新するにはプレイリストを作り直すだけではだめで、[ライブラリ]-[すべての音楽]の中身をすべて削除してから読み込みなおすと良い。無論、削除方法は、"ライブラリからのみ削除"で。

余談:Windows Live Messengerにて

Windowsで広く使われているメッセンジャソフトにWindows Live Messengerというものがあるのですが*1、これに再生中の曲名をブロードキャストする機能があります。(メンバリストに対してですが)

当然の如くWindows Media PlayerとWindows Live Messengerは相性がよく、韓国語もきちんと表示されます。
hangeul_msgr_with_wm.png



が、Winampは化けます……。
メインウィンドウでは、UTF-8で正しく解釈してハングルで表示できてるのにね。たぶんメッセンジャへのメッセージ送信部に問題アリ。
hangeul_msgr_with_winamp.png



うーん、そう考えるとやっぱりWindows標準のプレーヤー"Windows Media Player"はよく出来てるな…。
プレイリスト機能を用いないときは、さらに軽量でキーボードショートカットがいっぱいついたMedia Player Classicを使ってますが、こっちはプレイリストが見づらいので、アルバムで管理したいときにWMPが重宝してます。
ちなみに、Winampはネトラジ専用ですね。プレイリストがメインとウィンドウ分割してると面倒なので。

そういや、iTunesなんてプレーヤーもありましたね。
自分にとっては、
  • MacのiTunesにインポート時に、普通の日本語でもタグが化けまくった思い出がある
  • エンコーダーがボロくてLameなんかより、ずっと劣っているというレビューを見た
  • セットで使われるiPodは音がひずみまくり&ノイズのる
  • プレイリストを独自形式で持つうえ、テキスト編集できなくてうざい
  • キーボードショートカットがすべてに割り振られていない、使いにくい
とダメなところだらけなので、そもそもインストールする気が起きません。
ほんと、Mac使ってる人はよくあんなプレーヤーで耐えられると思うわ…。

*1 : 以前はMSN Messengerだった。XP標準では廉価版のWindows Messengerが搭載されていた。Windows Live Messengerとは、3者どれも違う物なので注意。

謝辞

最後になりましたが、itiri:20080227:1204113626を参考にさせていただきました。
ありがとうございました。