トップ «前の日記(2005-05-15) 最新 次の日記(2005-05-17)» 編集

じじぃの日記、ツッコミ可

Twitter: @jijixi_org
Xbox Live: jijixi

初心者が書いた OCaml 入門
Spotlight tips サイト内リンク集
1970|01|02|
2003|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|11|
2011|05|
2012|01|

2005-05-16 ええ天気やなあ [長年日記]

% [Mac] Configure Spotlight to index excluded content

Spotlight のインデックスを自動作成するディレクトリを制御する方法。via hiroto sakai's site

どっかにあるだろうなあ、とは思ってたんだが、なかなか見つけられなかったもの。 インデックスが格納されてる場所の方にあるとは盲点だった。/System/Library/Frameworks 辺りばっかり探してたよ。デフォルトの動作は、mds っていうコマンドにハードコーディングされてるらしいね。

具体的な方法は上記のページを見ればわかるだろうけど、一応書いておく。

1. /.Spotlight-V100/_rules.plist を編集する
   例(抜粋):
   <dict>
      <key>EXCLUDE</key>
      <array/>
      <key>INCLUDE</key>
      <array>
         <string>/usr/include</string>
         <string>/usr/X11R6/include</string>
         <string>/usr/lib/ruby</string>
      </array>
   </dict>

2. mdutil -E でデータベースを一旦削除(して再作成させる)

つーか、わしこの前データベース作り直したばっかなんですけど...orz と思って、試しに

% sudo killall -HUP mds

とかしてみたら、なんかこれでも良さそうな気配。 まあ、実際にはよくあるデーモンのように『設定ファイルを読みなおす』んじゃなくて、単に『一回死んで、自動でまた起動される』だけみたいだけど(苦笑)、一からデータベースを作り直すよりは、立ち直りが早いと思われる。安全性の方は保証できませんが(爆

あ、そうそう、mdutil を紹介したときにも書いたけど、インデックスはボリューム(パーテーション)ごとに作成されてるので、複数のパーテーションがある場合には、それぞれのパーテーションのルートディレクトリで設定してやる必要があると思われます。

(追記) killall で済ます場合には、追加したディレクトリに対して一度 mdimport を実行しておいた方が良いかも知れない。上の例のように追加したとすれば…

% mdimport /usr/include /usr/X11R6/include /usr/lib/ruby

と言った感じか。この場合は -f オプションは必要ないはず。

% [雑談] 「読んでほしい」という理由だけのトラックバックは不要です。

ちょっぴり騒動になってるアノ件絡みの Matz にっきのエントリより。とりあえず話の本筋についてはノーコメント。つーか立ち位置としては Matz さん側ですけど(苦笑

いやあ、それにしても、いつか誰かが突っ込んでくれるのを待ってたんすよね(笑)。弾さんのあの無差別トラックバック攻撃は、それをされてるブログ(日記)を愛読してる人間からすると、邪魔でしかないからなあ。 何か関係ある話をしてるんだと思ってクリックしてみても、全然関係無い話だってのが多すぎ。 それトラックバックの意味無いですから。

どっかで話題になってた「食事中でもメールくらいできるでしょ?」(NHK の朝ドラより)とかを見ても思ったけど、真っ当な(と、少なくともわしが思っている)人たちが考えているメールだとかブログの使い方と、真っ当じゃない(と、わしには見える)人たちのメールやブログの使い方には、随分とギャップがあるなあと感じる。

メールは三分以内に返事しないと失礼だとか、トラックバックされたらトラバ返し(何語だよ)しないと失礼だとか、わけのわからんルール(?)がまかり通ってる世界を見ると、ちょっと寒気がするよ。

% [本日のリンク元] google 検索 (初心者が書いた OCaml 入門)

誰だ、こんなピンポイントすぎる検索をするやつは(笑

% [Mac] 『Uniform Type Identifiers (UTI)』(リンクは 2ch の某スレ。DAT 落ちの可能性あり)

via void GraphicWizardsLair( void ); //

Spotlight の絡みで色々調べてた時に、あまりにもサラッと出てくるんで「いつの間にか、こんな仕組みができてたんだなあ」とか思ってたんだが、Tiger からの新機能だったんだね。 ちなみに、これの時に書いた mdls コマンドで調べられる『public.ruby-script』とかってのが、この UTI です。

んで、結局これって何だ?っつーと、ぶっちゃけて言えばクリエータによる関連付けと、拡張子による関連付けを一緒くたにしたもの、ってことだと思われる。 /Library/Spotlight/Microsoft Office.mdimporter/Contents/Info.plist の UTExportedTypeDeclarations っていうプロパティを見ると、イメージ湧くかもしれません。 あとは UTType.h ってヘッダに説明がありますね。

UTI には、あらかじめシステムで定義されているものと、アプリケーションが UTExportedTypeDeclarations を使用して適宜定義するものとがあって、どちらも未定義の場合には Dynamic Type Identifiers という仕組みが使われるようだ。 これを具体的にどういう風に使うのかは、よくわかんないが、例えばどんな名前が付くかってのは、適当に UTI が未定義のファイルを mdls で見てみると良い。拡張子が .ml なファイルとかを作って mdls で調べてみると『dyn.ah62d4rv4ge8045a』てな名前ができ上がる。 んで、どうやらこれはクリエータと拡張子によって一意に決まるっぽい。 つーことは、例えば例のスクリプトを全文検索の対象にさせる方法のときに、UTI が無くてもこの DTI を代わりに使ってやれば良いのかも知れないね(試してない)。

Spotlight コメント(『情報を見る』で付けられるコメント。Spotlight のキーワードになる)然り、この UTI 然り、あるいはリソースフォークを正しく扱うようにした UN*X コマンド然りと、今まで捨てる気満々だったリソースフォークを、逆に積極的に利用するつもりになってる様子なのがなかなかおもしろい。 Apple もやっとリソースフォークのありがたみを再認識したのかもね。結構前からファイルに付随するメタデータの重要性は叫ばれてたと思うけど、HFS は正にそのための仕組みを元から持ってるわけだから、使わないのは損だもんな。

% [Mac] 続 UTI

書き忘れたんで追加。

UTI のおもしろいところは、単にクリエータや拡張子の代わりになるってだけじゃなく、親子関係を持てるようになっていることだ。例えば C のヘッダファイルに対して mdls コマンドを使ってみると…

kMDItemContentType             = "public.c-header"
kMDItemContentTypeTree         = (
    "public.c-header",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)

こんな感じのものが出力される。つまり public.c-header は public.source-code を親に持ち、public.source-code は public.plain-text を親に持ち…という具合だね。

これは多分、アプリケーションを作る時に便利に使えることになると思う。例えばテキストエディタを作るとすれば、kMDItemContentTypeTree を調べて public.text が含まれていれば編集可能、ということにしておけば、実際のファイルが public.c-header だろうが、public.c-source だろうが、おかまいなしで受け入れてしまえるように作ることができるとか、そういうこと。

スクリプトを全文検索に…の話で、わしが public.ruby-script に対して SourceCode.mdimporter を 適用しても大丈夫だと判断したのも、public.ruby-script が…

kMDItemContentType             = "public.ruby-script"
kMDItemContentTypeTree         = (
    "public.ruby-script",
    "public.shell-script",
    "public.script",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)

こんな風で、親が public.c-source などと一致していたからなのです。

% [Mac] Opera8 を試してみた

なんか以前に比べると随分あか抜けた感じだね。以前試してみたときから比べると、雲泥の差。 ボタンがごちゃごちゃついてるのは Mac に似合わんと思ってたが、そこら辺もすっきりしちゃってます。

RSS リーダが付いてて、どうやらメーラの機能を流用してる模様。これはこれで良いのかも知れない。 あと、どっちが先だったのか知らんけど、ニュースリーダの機能も付いてるみたいだね。

…まあ、そんなとこですか。ふーん、良くなったねえ…で終了です。別に乗り換えるとかって気には全然ならず。マウスジェスチャーとかには特に魅力を感じないし、他の機能は間に合ってるし、ってことで。 とは言え、モノは悪くなさげなんで、現状に満足してない人は試してみるのも良いんじゃないでしょうかね。

% [PC] Firefox で Emacs like キーバインド

via BSD Diary Version 0.8091

な、なんだって〜!?そんな機能があったとわ!!わしも ^H でヒストリが出てくる仕様にはうんざりしてたですよ。 でもさ、でもさ、

ところで Windows 版ではどうやるの???

そこですよ問題わ。(つーか、FireFox の機能というより gtk の機能みたいだから、Windows では無理って線が強いが)

お名前:
E-mail:
コメント:

トップ «前の日記(2005-05-15) 最新 次の日記(2005-05-17)» 編集

日記ってのは本来、自分で読み返すためにあるもんだよなあ……
もしくは有名人になったら死後に本になったりとかか?

RSS はこちら

jijixi at azito.com