Thirty minutes left

There’s something in the air. って何なんでしょうね。

他の記事をちらほら見ていると、それは MacBook Air だ! という説が優勢のようで、僕も期待を含めてそうじゃないか、と思っているんですが、ここはあまのじゃくに 通信関連の何か 説を支持。

なぜかというと、もしウルトラポータブル MacBook だとしたら、“Air” というネーミングは煽り過ぎ、ハードル上げ過ぎじゃないかと。むしろ他のところでも書かれていた、「フォントがノーマルから Light に変わった」というところに着目して(“Air” は単なる売り文句と考えて)、普通に MacBook Light とか(普通過ぎ?)。

でも逆に、Apple は根本的な意味で新しいものを作ることはあまりない、と思うので、今すぐ使える通信技術で何か面白いもの、といってもあまり思いつかないし…、やっぱり MacBook か!(笑)

もし MacBook “Air” なら、日本人としては、小さくて軽いものなんて見飽きてるので、できればその想像も絶するものを。…とか言っといて、たぶん何が出てきても狂喜乱舞すると思います。楽しみだ!

Codes:del.icio.us の bundle を WebnoteHappy のスマートフォルダに変換するスクリプト

ダウンロード Download

Bundles2SmartFolders.zip(7.6KB)

これは何? What’s This?

del.icio.us API を通じて bundle のデータを取得し、それに対応したスマートフォルダを WebnoteHappy に追加する、実験的なスクリプトです。

An experimental script, which retrives bundle data through del.icio.us API, then adds corresponding smart folders to WebnoteHappy.

動作環境 System Requirements

System Events/Property List Suite を使っているので、Leopard 専用 です。ただし、その部分を普通のテキストベースの編集に修正していただければ、Tiger 以前の環境でも動作させることができると思います。

Leopard only. Because this script using System Events/Property List Suite. But you can easily run on OSes before Tiger, if you rewrite that part as usual text file I/O.

“Codes:del.icio.us の bundle を WebnoteHappy のスマートフォルダに変換するスクリプト” の続きを読む

Cocoalicious などを livedoor クリップで使う(ことができなかった)

Macの手書き説明書 さんの livedoorクリップのタグをリネームする方法 という記事を眺めて※ いたら、ふと、livedoor クリップ ではどんな API が用意されているんだろう、と気になり始めました(del.icio.us 以外の SBM にはうといので…)。

※ ちゃんと読んでいなかった、ということは、のちほど分かります。

で、解説ページ を見てみると、いろいろある中でも、アカウントのメンテナンス(ブックマークの追加、編集、削除等)に使える API としては、del.icio.us 互換 API が用意されている、ということが分かりました(公開されたのは けっこう最近 みたい)。

「世界最大の SBM の API に合わせるとは、賢いな!」と思う(でも はてブ みたいに AtomPub のような汎用的な API を使う方が、長い目で見るといいのかしら)と同時に、…ということは、Cocoalicious のようなクライアントソフトも使うことができるのではないか と考え、試してみることにしました。

“Cocoalicious などを livedoor クリップで使う(ことができなかった)” の続きを読む

NetNewsWire がフリーに

Mac 向け RSS リーダーの代表、またインディー系(今は違うけど)Mac ソフトの代表でもある NetNewsWire が、今日リリースされたバージョン 3.1 から、フリーウェア化されました。ついでに、同じ NewsGator 社のコンシュマー向け(クライアント)ソフトも、あらかたフリーに。

まずツッコみたくなるのは、そんなことして大丈夫なの? ということですが、NewsGator 創業者/CTO の Greg 氏による ブログ記事 などを参考にすると:

  • エンタープライズ(サーバー)製品の売り上げでがんばる。これと高度に連携できるクライアントソフトを無料で配布することで、エンタープライズ製品のユーザー/将来のユーザーの裾野を広げる。

  • 「アテンション」データ(フィードの購読状況など)を収集して、サービスの向上に生かす。(ソフトの品質が上がるのか、集めたデータを利用して何らかのサービスを立ち上げるのか、具体的なことはよく分からない)

…ということのようです。

“NetNewsWire がフリーに” の続きを読む

Notes:AppleScript(Studio)でキーチェーンを使う

※ これは Kaku 1.0.2・Kaku 1.1a2 リリース からのスピンオフ記事です。

パスワードなどを扱いたいときに、システム標準の「キーチェーン」にアクセスできると便利です。

AppleScript でそれを行うために、「Keychain Scripting」というスクリプティング機能追加(正確には、その処理を代行してくれるウィンドウのないアプリケーション)が用意されていますが、これが不具合てんこ盛りの代物なのです。

まず、Studio じゃない場合の不具合からいくと、

  • 認証ダイアログで「拒否」すると、Keychain Scripting がハングする。
  • 複数のスクリプトが Keychain Scripting にアクセスすると、不安定になる(これは僕自身では確認していません)。

また、AppleScript Studio から Keychain Scripting を使おうとする人がどれだけいるか分かりませんが、上記に加えて、

  • なぜかフィルタ参照が使えなくなる。それも全部ではなく、項目によって。試してみないと分からない。例えば、 first key of current keychain whose account is "ppm" など。
  • (上の問題と関連していたかもしれませんが)リテラルなら大丈夫なのだが、変数を与えるととたんに動かなくなる。例えば、 first key of current keychain whose account is accountVar などが、ときに動かなくなる。
  • 一度登録したキーの内容を変更できない(普通の AppleScript ならできる)

…と、意味の分からない不具合が多々あるのですが、AppleScript からシームレスに呼び出せるという利便性もあり、以前のバージョンの Kaku では、フィルタ参照で済むはずのところを repeat 文にしたり、内容の変更ができないので 削除 → 新規登録 で対応したりと、なんとか手なずけて使っていたのですが、やはり Hiro さんのところでハングしてしまう、ということで、代替案を探しました。以下では、僕の選択肢に入ったものを紹介しています。キーチェーンを使いたい動機が違えば、選択肢が変わってきますので、全て載せます。

security コマンド

do shell script で使えます。ただし、一度登録したキーの内容の変更・削除ができません。しかし、既存のキーの情報を使えればいいとき、あるいはユーザー自身に「キーチェーンアクセス」アプリケーションでキーを登録してもらうことができるなら、とても有効な手段となります。使い方は、ちゃらんぽらん さんの記事「スクリプト内のパスワード」と アップルのマニュアル をどうぞ。

Usable Keychain Scripting

これ、ご存知ですか…? 言わずと知れた素敵ブログクライアントソフト「 MarsEdit 」の現作者、Daniel Jalkut 氏が開発した、Keychain Scripting の代替アプリケーションです。「これを Kaku に内蔵できたらちょっと面白いな」と思った(笑)のですが、残念ながらこれもまだ、変更・削除に対応していないようです。また、自分のソフトにバンドルするには、ちょっとライセンスが曖昧です(直接 Jalkut 氏に聞いてみる必要がありそうです)。でも、これも security コマンドと同様、既存の情報を使うだけなら、かなり便利そうです。AppleScript から直接使えますし、Keychain Scripting と比べると、スピードもかなり速いようです。AppleScripter の方にもおススメします。ダウンロードは、Jalkut 氏のブログ記事 から。

Keychain.framework

ここからは、AppleScript Studio 限定になります。Objective-C で書かれたフレームワークであれば、call method コマンドで操作することができますが、残念ながら、キーチェーンの扱いに関しては、「Security.framework」と呼ばれる C 言語で書かれた API しかありません。しかしそこはちゃんと、Objective-C ベースでオープンソースの「 Keychain.framework 」というものが公開されていて、これを使う、という手があります。しかし、これはとてもいいのですが、いかんせんフルフィーチャーなので、サイズが大きすぎます。例えば Kaku はだいたい 600KB 前後なのですが、試しに Keychain.framework を入れてビルドすると、2MB 強になってしまいます。「この時代たかが 1.5MB ぐらい…」と思われるかもしれませんが、やっぱりバランスが悪いというか…。Kaku 本体が 3MB ぐらいになったら使うかもしれません(笑)

Security.framework

いわゆる「直」、Kaku で最終的にとった方法です。Objective-C のクラスを作り、その中で Security.framework にアクセスします。AppleScript からは call method です(どこが直)。その際、Adam Gerson 氏のウェブサイト で公開されている「 Simple Keychain Example 」がそのまま使えそうだと思い、(サンプルとしての使い方ではなくなってしまうので、一応)Gerson 氏に連絡し、許可ももらったのですが、実際にやってみると手直ししなければならない部分が多く、最終的には、本当に「参考にした程度」になっています。

Notes:iCab スイッチャーがつまづきそうなところ

昨日は、フィードバックまつり と題して(勝手に)、昨年から「フィードバックしなきゃなぁ…」と気にしていた Mac アプリ開発者の方々に、あらかたフィードバックやリクエストを送りました。と言っても、メール4通 + フォーラムへの投稿1本を、ちょこちょこっと英語で書いただけなのですが、疲れたし、時間もかかった。もっとサクサクできるようになりたいものです(涙)。

今日は、前回の記事 であれだけ、今からメインブラウザにしても問題ないレベル などと煽っておきながら、実際に使い続けてみると、現在のメジャーなブラウザに慣れている方がつまづきそうなポイントが2つほどあったので、ご紹介しておきます。ちなみに、いずれも iCab 公式サイトの FAQ に答えが書いてありました。

“Notes:iCab スイッチャーがつまづきそうなところ” の続きを読む

iCab 4.0

実家で途中まで書いていたのですが、書き終えられなかったので、出遅れ気味ながら、iCab のお話(ダウンロードは ダウンロードページ の “iCab400_UB_OSX.zip”)。

まず、いまだに存在していることを知らなかった!(失礼)。iCab といえば、僕が 68k Mac 上で HTML(下手したら 3.x ぐらいかも)の練習をしていたとき、Netscape や IE はだんだん重くなって辛くなってきたので、iCab に乗り換えたのでした。

さて、生まれ変わった iCab は、OS X ユーザーには親しみやすい Cocoa ベースとなり、レンダリングエンジンも、正確に確認したわけではないですが、どう見ても WebKit に移行。

しかし、複数の WebKit 系ブラウザをはじめとして、ブラウザの選択肢には、わりと恵まれているのではないかと思われる Mac プラットフォームで、今さら独自のレンダリングエンジンを外して WebKit 系ブラウザ、というのはいかがなものか、と思いきや、こうして過去の遺産を捨て、現在主流の技術を取り込むことで、一気に他のブラウザと戦えるレベルに上がってきた という印象。

というわけで、僕が気になった iCab の特徴を、少し書いていきたいと思います。僕があまり確認できていないポイントに関しては、Mac の手書き説明書 さんが 書かれて いますので、そちらもあわせてご覧ください。

“iCab 4.0” の続きを読む

WordPress 2.3.2 リリース

2008 年、あけましておめでとうございます。今年もよろしくお願いします。

僕は大晦日に気がついてアップグレードしておいたのですが、WordPress(無印)の 緊急セキュリティーリリース、バージョン 2.3.2 が公開されています。ダウンロードは こちら 、WordPress 開発ブログの記事は こちら

修正された問題の内容は:

  1. 下書き記事を閲覧できてしまう問題
  2. エラーメッセージから、データベースのテーブル構造や機能の情報が漏れてしまう問題
  3. 2 と同様に、XML-RPC や AtomPub で一部の情報が漏れてしまう問題

また、追加機能として:

  • wp-content/db-error.php というテンプレートを使って、データベースエラーが起きた場合に表示されるエラーページをカスタマイズできるように

…とのことです。

“WordPress 2.3.2 リリース” の続きを読む