複雑なクライアントソフトウェアが好きだ。

ぼくは、GMail とか Calendar とかを、なんとかクライアントアプリから使おうとするので、よく「なんで Web で使わないんですか?」と聞かれます。 まぁそれは、データが自分の"おなか"にないと好きな処理できない、というのが大きな理由です(メールボックスとかgrep したりしたいわけじゃないですか。)

・・・でも実はもう一つわけがあって、、好きなんですよ、複雑なソフトが。。。 🙂

25年以上前からコンピュータにさわっているので、あたりまえっちゃーあたりまえですが、ここまでくるとシンプル・単純なソフトとか面白くないですよね。 超複雑な操作を、その場の判断でどんどんすすめて、ばんばん生産していくことに結構な快感を覚えます。 なので機能てんこ盛りのクライアントソフトが結構好きです。

じゃー身近にある、機能が多いソフトといえば、・・・ソフトウェア開発の統合環境。

特に Eclipse なんかはプラグインで無制限に機能が増やせるので、遊ぶにはもってこいです。(笑) プラグインの検証のために、ソフトかくこともあるくらいです。。 もはや手段と目的の逆転。

eclipse33x

すごいメニューの数とか、ペインのかずとかみるとうれしくなっちゃったりします。 これは Web アプリでは味わえない醍醐味です。

Windows では Microsoft の Visual Stdio も有名です。 最近つかうようになったので、ちょっと紹介。

vs

Eclipse、Visual Stdio (Express版) ともに無償で使うことができます。 こんなあそべるものが、タダで使えるなんていい時代になったもんです。 🙂

ちなみに、我が家の Visual Stdio の プロフェッショナル版(有料)は、6.0 でとまっております。。

時は戻り 15年以上前にも統合環境というのは存在していました。 いくつかありましたが、ぼくは Turbo C 使っていました。

turboc

なつかしいっすね。。 当時は FD起動でがっこんがっこんすげー遅くて、はっきりいって VZ とか MIFESとかテキストエディタでソースかいて、マクロで make したほうがずっと速かったりしたんですが、なんだかこのころから統合環境っていうものが好きで無理に使っていた覚えがあります。(笑)

他にも廉価版の Quick C とか、高級版の Borland C とか、MS-DOS、Borland 全盛時代のコンパイラを覚えてらっしゃる方もいるかもしれません。

機能てんこ盛りという意味では、DTM 用のシーケンサーなんかもそれにあたるかもしれません。

cubase

これもかっこいいですね! 分かる人には便利であろう機能がたくさんついているというところは、統合環境と似ています。 ぼくは全然できませんが、たぶん画像処理系のソフトとかもこういったたぐいにはいることでしょう。

アプリが Web になって、1アプリケーションにおける実装機能数や操作系はがたおちになっていると思いますが、ネットワークとの親和性がかわれて機能や操作的な部分を不意にしてでも進化を続けています。 でもたぶん、これからは失われた部分を取り戻す時間がやってくると思います。

仕事でもちょっとずつ、RIA とかその手の技術をきくようになってきたので、おそらくはインターネットにもその技術が適応されていくことになるのでしょう。

twitter とかも専用クライアントを使うわけだし、2ちゃんねるビュアーなんか元祖 RIA といえる存在でもあります。 遊びでも、みんな肌では本気で何かしようとすると Web インターフェースではおいつかないことは分かっているのです。

だいたい、文書フォーマットである HTML を流用して"画面"をかこーって根性がすきじゃないんだな。 HTML 5.0 とかなんぞそれって感じがしますが・・・。 目的外使用は 個人的には hackish で面白いとは思うけど、好きでやってる人以外には、いやがられる技術となるのです。

と、「原理主義」ってそういうことなんだな、と思ったところでおしまい。 🙂

XBMC for Linux 日本語化

XBOX ユーザにはおなじみの最強メディアプレイヤー XBMC ですが、最近は Linux や Mac、Windows への移植が活発のようです。 Windows、Mac はみたことがありませんが、Linux 版の初期インストールでは日本語がでませんので、日本語化の方法を書いてみたいと思います。 といっても、XBOX 版と同じ方法です。 🙂

xbmc01

とりあえず、XBOX 版はこんなかんじの画面です。 いいっしょ。 🙂

hiromasa.another :o) » Blog Archive » XBMC を使ってリビングでマルチメディア再生

正直、これをみてしまうと他の STB とか 360/PS3 のメディア再生機能なんか、ほんと使って作っているのか?ってかんぐるくらい貧弱だと思ってしまいます。。

をかもとさんもサイトで紹介されています。

XBMC for Ubuntu : 独断と偏見の何でもレビュー

ただし、日本語ファイル名は表示されない。暇なときに日本語パッチとか出てないか、探してみよう。

てなわけで、Linux 版の日本語化の方法です。 XBMC は FreeType ライブラリで自前でフォントをレンダリングするので、フォントを内蔵しています。 Ubuntu の .deb からいれると、フォントのありかは以下です。

hiromasa@hiromasa-cube:/usr/share/xbmc/media/Fonts$ ls -laF
合計 4836
drwxr-xr-x 2 root root    4096 2008-07-13 15:31 ./
drwxr-xr-x 3 root root    4096 2008-06-06 22:11 ../
-rw-r--r-- 1 root root 4611496 2008-07-13 15:30 Arial.ttf
-rw-r--r-- 1 root root  311636 2008-05-19 00:43 arial.ttf.org

で、上のはもーなっていますが、標準の arial.ttf は英語しかはいってないので、どっかから日本語フォントをもってきて、Arial.ttf として格納します。 頭大文字なので注意。 手持ちが .ttc しかなくても、強引に拡張子 .ttf にしてもいけるようです。

で、XBMC 起動して設定までいって、以下の2つを設定します。

まずは、Look and Feel から Skin のフォントを Arial TTF に。

Screenshot-XBMC

でもって、Region を Japanese、Shift_JIS に。

Screenshot-XBMC-1

何を隠そう、Skin フォントが優先される実装があるのをしらずに、上の画面の設定にたどりつけなくてちょっとはまりました。。 ソースみてなっとく。 🙂

こうなれば成功です。 ランゲージファイルは最初から同梱されています。

Screenshot-XBMC-5

samba ごしに、Windows の共有もちゃんとみれます。(最近はだめ文字も少ないのかな) NAS の共有とかをそのままみれちゃうのが、XBMC のおそろしいところ。

Screenshot-XBMC-3

なんかににている、3D の”あれ” も動きます。

Screenshot-XBMC-4

静音PC に、Linux いれて XBMC をフル画面でうごかして、ハイデフなテレビにつないで表示させるといい感じかもですね。 H264 とかは XBOX だと負荷結構きついし、なにより初代 XBOX 自体がハイビジョン対応してないので(16:9 は OK だけど!)、XBMC をPC にいれるアドバンテージは結構あります。 再生できるファイルが限られる、なんとか TV よりずっといいかも。(笑)

Mac と Windows 版はみてないけど、ソースを見る限りきっと同じように日本語化できると思われます。 やってみたいかたは、おためしを。 🙂

WordPress 2.6 の修正履歴機能

次期 WordPress に実装される、投稿の履歴機能がどうなっているのか気になってちらっとみてみました。 これは、投稿したあとの修正が履歴となって残り、その差分比較ができるという機能です。 とりあえず、UI からみていきましょう。

投稿の編集画面の最下部に post revisions 項目が追加になっています。

Revisions01 

これは投稿の修正ごとに増えていきます。 これをクリックすると新設された、Compare Revisions 画面に遷移して、下で比較するリビジョンを選択して、上でその diff をみれるようです。

Revisions02 

なかなか面白い機能ですね。

ぼくは CMS 系のアプリケーションの本当の意味でのコアというのは、こういったデータの持ち方だと思っていて、コンテンツをどういう観点で整理してタンキングしていくか、という部分がそれぞれの CMS の特色だと思います。

WordPress の場合は、もともとブログシステムなので時系列につよい特色があります。 それに付随して記事に対してのメタ情報、タグであるとか階層をもてるカテゴリであるとか、記事に対してシステムユーザ管轄ではない情報をあたえるコメントであるとかという機能が使えます。

wiki 系なんかはあまり時系列にはつよくないですが、履歴がもてたり、ユーザ管理につよかったり、ワークフローをもっていたりします。 今回 WordPress は履歴の機能をもつことになり、簡易的なワークフローである pending 機能とあわせて、ユーザ同士の文書のやりとりを行う意図もあるのかなーと思ったのが第一印象です。

CMS の設計ってこの辺が一番面白いんですよね。 🙂

さて、この履歴機能の実装ってどーなってるんだろーっとおもってぱらっとテーブルをみてみました。 予測するにトランザクション用のテーブルがひとつふえてる!

[tegaki]・・・ふえてない![/tegaki]

てなわけで、ぜんぶ wp_posts にもたせたようです。 いままで、wp_posts は直近の投稿内容をもつテーブルでしたが、今回からある意味トランザクションテーブルにかわります。 じゃー、主キーはどーなるの? って話ですが、 ID のままです。

そう、履歴がとられるごとに ID ふえるんですね。 でもって、post_name ってページスラッグ名をいれるところに、履歴レコードの場合の親記事ID とリビジョン文字列をいれるという、かなり強引な下位互換を考えた実装になっています。 😛

でさー、ぼくは全然気にしないのですが、パーマリンクの ID の歯抜けを気にする方はちょっとあれかもですね。。過去記事の修正ごとにレコードできるので、その場合は新規投稿は番号抜けします。 あと、これは微々たるものですが wp_posts の容量の増加量も増えます。

テーブル増やして、機能の使う有無を選択できるようにしてくれればよかったのになーと思いましたがはたしてみんなの評判はどうか。 気になるところであります。

# 時間無くてぱっとみで、ソースまで追えなかったのですが、この機能、きれないよね?