Kaku 1.0 リリース

Kaku 1.0 を公開しました。ダウンロードや操作方法については 紹介ページ をご覧ください。

なぜ Kaku を作ったのか

「出力ファイル名」を設定したい

以前にも何度か書きましたが、Kaku を作ろうと思ったきっかけは、「Movable Type の記事の『出力ファイル名』を(ウェブブラウザで管理画面にアクセスするのではなく) ecto のようなブログクライアントソフトで変更したい」という、ただ一点でした。

どうしてそんなことが必要かというと、— これは、自分のブログで、固定リンクをどのような形式に設定しているかに関わる話で、僕は常々「 URL を見ただけでページの内容が分かるようにしたい」と思っているので、日付などを使わず、「/カテゴリ名/サブカテゴリ名/出力ファイル名」の形式にしていました — 「出力ファイル名」は通常、記事のタイトルをファイル名に利用できるかたちに変換して作られるのですが、記事のタイトルが日本語だった場合、タイトルの内容が無視され、「 @post_1@ 」などの意味のない名前にされてしまうのです。

しかし、国産のものが(僕が知る限りでは)存在しない Mac 用のブログクライアントソフトに、そんな機能がついているものはなく、どうしてもこの機能が欲しくて、作り始めたのが最初です。

なんとなく

これも以前書きましたが、ごく基本的な機能が出来上がっていたソースを紛失してしまい、まったく最初から作り始めることになりました。最初は、以前やったところまででいいや、と思っていた(!)のですが、途中からなんとなく、自分のできる範囲で完成させたい、と思うようになりました。

Mac 用ブログクライアントソフト界が停滞していたこと

「その停滞をぶっ壊してやるぜ!」という意気込みで作り始めた…わけではありませんが、Kaku の開発を始めた当時は、代表的なブログクライアントソフトである ecto と MarsEdit が、いずれも作者さんが他の仕事で忙しく、長い間大きなアップデートが行われていない状態であり、今後どうなっていくのかもよくわからない状態でした。それなら、自分で作ってみるのも少しは意味があるかな、と思ったわけです。

Kaku の存在意義

ecto や MarsEdit などの高機能かつ優秀なソフトが存在する中で、基本的な機能しか備えていないものを出すということにどんな意義があるかと言うと、まあほとんどないかもしれません(!)が、 フリー で、 Cocoa で、 非常にシンプル という点においては、何らかの意義はあるのではないかと思います。

…ということで、よろしければ、お試しください!

http://ppmweb.lolipop.jp/apps/kaku/

(紹介ページや Kaku のファイルはすでに数日前アップしていたのですが、週末にカゼひいていたり、そのうえに旧友が来て連日会ったりしていたので、ここでの紹介が遅くなってしまいました。申し訳ないです 汗)

【Kaku 開発】ほぼ完成。でも…

以前 Kaku のスペックとして、「Panther 対応」を 掲げて いましたが、そこだけは守れそうにありません。申し訳ないです。

「Panther 対応」を掲げた理由は、以前公開させていただいた「 l2i 」が、どうも(恐らくOS が)Panther (であることが原因)で動作しない、という ご報告(記事後半) を受け、「Tiger 専用である必要のないソフトが Tiger でしか使えないのはイカンなあ」と思い直した(当たり前ですが)からです。

そして、ソフトに広い互換性を持たせる方法として、ビルド設定を調整すればよい、というところまでは分かってきたのですが、ビルドし直そうとしたときにエラーが出まくって、とても難しい、といったことを以前書いたと思います。

しかし、それは非常に単純な勘違いであることに最近気付きました。仕組みをよくわかっていないためよく間違えるのですが、「プロジェクト設定とターゲットの設定は別」ということをすっかり忘れていて、プロジェクト設定だけをいじっていたのです。

そして、ターゲットの設定もきちんとしてビルドを実行すると、すんなりビルドが完了します。それを Panther 上で起動すると、やはり起動してもすぐ終了してしまうのですが、コンソールのエラーメッセージを読むと、Cocoa Binding で Panther では用意されていないパラメータにバインドしているために、エラーが発生しているケースがほとんど(これまでに公開した他のソフトも)ということがわかりました。これで(バインディングが使えないとちょっとツラいですが)、Kaku どころか、これまでに公開した他のソフトの互換性も確保できそうな気がしてきました。

…しかし、Kaku にはひとつ落とし穴があって、Cocoa Binding やらなんやらの前に、ツールバーを使ってしまっているのです。AppleScript Studio でツールバーを使えるのは、Tiger に搭載されている バージョン 1.4 以降 。たいして便利なツールバーを作れるわけでもないのに Tiger からしか使えない、というのはなんともアホらしいですが、これが AppleScript Studio の仕様です。

なんとなく、ツールバーの部分を Cocoa/Objective-C で書き直せばいけそうな気がしますが、それにもちょっと勉強が必要なので、今回は早く公開することを優先したいと思います。すみません。汗

WordPress 2.1.1 は危険です。2.1.2 にアップグレードを

公式情報は 公式サイトのブログ記事 でご確認ください。

主な対象は、ここ3〜4日のうちに、公式サイトの ダウンロードページ から WordPress 2.1.1 をダウンロードした人、のようですが、2.1.2 にはマイナーな修正も含まれているようですから、その他の人も念のため、アップグレードしておいた方が良いでしょう。

2.0.x 系を使っている方、そして問題の背景を考えると当然、 ME を使っている方は 関係なさそう (関係なさそうですが、やはり念のため、2.1.2 ME が アップ されています) です。

何があったかというと、数日前に公式サイトのサーバーのひとつがクラックされ、ダウンロードページに細工を施された 2.1.1 のダウンロードファイルを設置されてしまっていた、とのことです。細工は、リモートから PHP コードの実行を行えるようにしたものでした。

クラックされてからの被害は、今のところこれしか発見されておらず、2.0.9 のダウンロードファイルや、開発リポジトリには不審な点はなかったようです。

公式サイトのサーバーがクラックを受けた、というのは、また別に深刻な問題ですが、WordPress 自体は、コードが汚染されていないことの確認と、マイナーな修正を含んだバージョン 2.1.2 がすぐ アップ されていますので、該当される方はアップグレードしてください。

また、該当される方は、アップグレードの際に既存のファイルをすべて上書きするようにしてください(僕の場合は、いったんすべて削除してから、アップロードし直しました)。

なお、前述の記事ではさらに、ファイル「theme.php」「feed.php」へのアクセスと、「ix=」「iz=」を含むクエリ文字列をブロックするよう勧めています。