Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Computer
暑い日が続きますが、皆さんいかがお過ごしですか。
本日 Lyrics Master の最新版となる v2.4.2 をリリースしましたのでお知らせします。
ダウンロードはこちらから。変更点について詳しくは更新履歴をご覧ください (Mac OS X / Windows)。

v2.4.2 では、JOYSOUND.com の検索機能が Lyrics Online に統合されています (これまで JOYSOUND.com の検索結果は別ウィンドウで表示されていましたが、この方式は廃止となりました)。これまでよりも取得できる曲のバリエーションが大幅に増えますので、ぜひ Lyircs Online を有効にしてお試しください。

ご要望の多かった機能として「歌詞の置換パターン指定機能」を追加しています。環境設定画面の「その他」から「歌詞の置換を行う」を選択すると、「置換ルールを編集...」ボタンで置換のルールが設定できるようになります。全角/半角スペースの置換、三点リーダ/ピリオドの置換などなど、お好みに合わせてご利用いただければと思います。正規表現にも対応しています。

また、アクセシビリティの向上施策として、検索・ダウンロード完了時にサウンドで通知するよう改善を行いました。ただし、サウンド通知は環境設定画面の「その他」タブで「アクセシビリティオプションを有効化」にチェックを入れた場合のみ有効となります。

Windows 版については、iTunes Scripts に「iTunes COM の再登録」を追加しています。
iTunes 連携時に OLE エラーが発生する場合などは、このスクリプトで修正できる場合がありますので、お試しください。

その他、例によって各歌詞サイトの最新仕様に対応しておりますので、ぜひアップデートしてください。
Category: Xojo
GitHub はリポジトリ内のファイルの拡張子などに応じて、使用されているプログラミング言語を自動判別してくれますが、その機能は GitHub 謹製の Ruby モジュール linguist で実現されています。新言語追加の Pull-Request を受け付けていたので、Xojo 言語を追加しておきました。1 つの拡張子につき 1 つ以上のサンプルソースファイルがあることがマージ要件のようです。

追加言語の反映契機は linguist がリリースされ (タグが打たれています)、かつ、判定対象のリポジトリに push が行われたタイミングのようです。現時点でも、いくつかのリポジトリで Xojo の判定が行われていることを確認できます。言語名の表示だけでなく、シンタックスハイライトも VB.net に準じて行われるようになったのでコードが見やすいですね。
Category: Xojo
Xojo 2014 Release 2 が公開されました。Web 版の機能拡張が中心ですが、Mac アプリのビルド時に Info.plist ファイルにキーを追加できるようになるなど、Desktop 向けの地味に嬉しい改善も入っています。

また、今回のリリースからライセンス体系が拡張され、$99 と安価なシングルデスクトップライセンス (Mac, Windows, Linux のいずれかの OS 向けのアプリのみビルドできる)、$1,999 のエンタープライズライセンス (Xojo Pro ライセンスに 8 時間のカスタマイズ可能なオンライントレーニング(日本語または英語)が付属) が追加されています。安価なライセンスが増えたことは純粋に歓迎。ユーザ層の広がりに繋がると良いなと思います。なお、同時に円決済からドル決済に変更されたので、円高のタイミングを狙ってライセンスを購入/更新するとヨサゲです。 :)
Category: Apple
AppleScript エディタは、実は AEDesc 表示に対応していたと知って感動。「返された値」ビューのイベント上でマウスホバーしてしばらく待つだけ。utxt は文字化けしてしまう様子で残念。
Category: Linux
KVM でディスクイメージの形式として QCOW2 を利用するとディスク容量が節約できたりスナップショットを取ったりできるので便利ですが、使い込んでゆくとパフォーマンスが気になってきます。QCOW2 はデフォルトではディスク領域を事前に割り当てない (アプリケーションレイヤで sparse file 相当の処理を実装している) ため、ディスク領域を事前に割り当てた raw 形式等と比較してディスクアクセス (特に利用領域の増加時) のコストが大きくなります。したがって、VM のワークロードによってはこれがボトルネックとなる可能性があります。

QCOW2 の領域の事前割り当てモード (preallocation mode) の設定を変更することで、このようなコストを抑えることが可能です。領域の事前割り当てモードは、ディスクイメージごとに作成時に決定されます。ディスクイメージの作成後に事前割り当てモードを変更するには、以下のように qemu-img convert コマンドを使用して変換を行います (オンラインで変更することはできません)。
qemu-img convert -p -f qcow2 -O qcow2 -o preallocation=metadata mydisk.qcow2.img new-mydisk.qcow2.img
preallocation mode には off, metadata, full の 3 種類が指定可能です。off では事前割り当てを行いません (デフォルト)。metadata では領域の管理情報のみを事前に割り当てます。full では管理情報に加えて実際のデータ領域も事前に割り当てます。

ちなみに、単に convert を行うだけでも“デフラグ”相当の効果が得られ、パフォーマンスが向上します。iostat 等で確認しても IO がボトルネックになっていないのに性能が出ないケースでは試す価値あり、です。