超いーかげん、Safariで開いているタブをはてなブックマークに登録するスクリプト

9月 14th, 2006
[`evernote` not found]
Facebook にシェア

前のエントリで書いた「Mac OS XのSafariで開いているタブをまとめてはてなブックマークに登録するAppleScript」がいちおうできたけど……。
こちらのページによれば、はてなブックマークはだいぶ前に仕様変更されて、確認画面なしでは登録できなくなったようだ。タグを付けた状態で確認画面を呼び出すこともできない。確かにこれが可能だと、スパム的なブックマークががんがん登録されてしまうから仕方ないのか。
そういうわけで、「タブで開いているページをまとめてはてなブックマークへ登録するのがちょっと楽になるAppleScript」になってしまった。Safariで複数タブを開いた状態で下記のスクリプトを実行すると、それぞれのページについてのはてなブックマーク登録画面が現れる。タブの切り替えルーチンが非常にいい加減なので、同じURLのページが複数あるとそこで止まってしまうし、複数ウィンドウにも対応していない。KOTOERAで公開されている「Safari で開いている全ての URL からロケーションファイルを作成」スクリプトのタブ切り替えルーチンは、複数ウィンドウでタブを開いている場合でもうまく動作するようだ。

tell application "Safari"
set i to true
set URL_list to {}
repeat
if exists the URL of document 1 then
set this_URL to the URL of document 1
else
set this_URL to ""
end if
repeat with j from 1 to count of URL_list
if this_URL = item j of URL_list then
set i to false
exit repeat
end if
end repeat
if i = true then
set URL_list to URL_list & {this_URL}
my next_tab()
else
exit repeat
end if
end repeat
repeat with j from 1 to count of URL_list
open location "http://b.hatena.ne.jp/add?mode=confirm&url=" & item j of URL_list
end repeat

end tell

on next_tab()
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
click menu item "次のタブを選択" of menu "ウインドウ" of menu bar 1
end tell
end tell
end next_tab

SafariのAppleScriptに苦闘

9月 13th, 2006
[`evernote` not found]
Facebook にシェア

この前のエントリで書いた、「Mac OS XのSafariで開いているタブをすべてはてなブックマークに登録するスクリプト」を作ってみようと思い立つ。ちょっとした息抜きになるかと思ったら、これがかなりややこしい。AppleScript超初心者の私がいうのも何だけど、AppleScriptから呼び出せるSafariの機能ってあまりにも貧弱すぎじゃないか。特にタブ関連。
そもそも、開いているタブの数を取得したり、タブを切り替えることすらできないのだ。複数のタブのURLを取得する方法として、ちょっと思いついたのは、
・現在のページのURLを取得
・そのURLを配列(AppleScriptだとリスト)に保存
・AppleScriptのUI Scripting(メニューやボタン操作をAppleScriptから行う)を使って、次のタブを選択
・これだと無限にタブを切り替え続けてしまうから、現在のページのURLを配列内のデータと比較して、一致したら終了(このアルゴリズムだと同じURLのページを開いていた場合問題になるけど、とにかく手軽さ最優先)

これでうまく行くかと思いきや、処理の途中で無限ループに入ってしまう。うーむ、AppleScript(というかプログラム全般ですが)はよくわからん……。

携帯電話でのRSS、Webブラウジングについてあれこれ

9月 11th, 2006
[`evernote` not found]
Facebook にシェア

前のエントリーでも書いたが、RSSリーダーとしてNetNewsWireNewsGatorの組み合わせはかなり使いやすい。Mac OS X上では、NetNewsWireでサクサクSpotlight検索もできるし、フィードの整理も楽。未読や既読の状態をNewsGatorにそのまま引き継げるから、携帯電話上で続きを読める(フィードによってはなぜかNewsGator側で読み込まれないものもあるけど)。
ただ、気になった記事を携帯電話から「はてなブックマーク」に登録するのがちょっと面倒。はてなブックマーク登録用のブックマークレットは、私が使っているauのW41CAでも使えることは使える。しかし、ブックマークレットを呼び出すといちいちはてなのIDとパスワードを入力しないといけない(PCサイトビューアを終了するまでは覚えていてくれるが)。要するに、W41CAのPCサイトビューア(Opera)にはパスワードなどの認証管理機能が搭載されていないのだ。W41CAのメモ帳にIDやパスワードを書き込んでおいて、入力画面で呼び出すということをやっているが、これだと使い勝手がイマイチ。しかし、かなり気に入っているW41CAを認証管理機能のためだけに買い換えるのもちょっとなあ……。

あと、パソコンと携帯電話の連携ということで、パソコンのブラウザで開いているページをそのまま携帯電話でも見られると便利なのではないかと考えた。開いているページのURLをすべて取得して、それらをはてなブックマークに登録して「あとで読む」タグを付けておくとよいかなと。簡単なスクリプトでできそうに思えたのだが、これが意外に厄介。Mac OS XのSafariはAppleScriptでコントロールできるようになっているのだが、実はJavaScriptを実行する機能と現在のページのURLを取得する機能ぐらいしかなかったりする。開いているタブやウィンドウの数をAppleScriptで取得して、処理してやればいいだけのはずなんだけど。

自転車用にGPSユニットを買ってみた

9月 8th, 2006
[`evernote` not found]
Facebook にシェア

ETREX VISTA C 日本版ここのところ、自転車にハマっている。BromptonのM3Rというヤツで、コンパクトに折りたためる(大きめのコインロッカーにも入るそうだ)サイズでありながら、走りもまずまず快適。本格的な走りには向かないのだろうけど、電車やバスにも気軽に乗せられるから利用範囲が広い(輪行という)。デジタルガジェット好きが自転車ときたら、次に手を出すのはGPSと相場が決まっている。自分の走った場所を地図に示したくなってくるのだ(なんでそんなことをしたいのかと聞かれてもよくわからないが)。Google MapsやGoogle Earthが登場したことで、手軽にGPSデータをネット上に表示できるようになってきている。
GPSユニットとしては、Garminのものが有名で、日本地図を搭載したETREX VISTA CやGPSMAP 60CSxなどが人気の模様。しかし、日本地図を搭載したモデルはかなり高額なので、興味半分で手を出すのはちょっと……。
SONY GPSユニット GPS-CS1KGPSログデータの記録だけに特化した製品を探してみると、ソニーのGPS-CS1Kが出たばかり。Windows用の写真管理ツールも付いていて、撮影日時を元に地図を表示できたりする。ただ、私は写真をMac OS XのiPhotoで管理するようになっているし、ハードウェアとしてGPS-CS1Kにはあまりビビッと来なくて。
さらに探してみると、WintecのWBT-200というものが見つかった。USBに加えてBluetoothも使えるというのがなかなか魅力的。また、WBT-200をMac OS XやLinuxで利用する方法を紹介しているページも発見。GPS関係のショップを探して注文したところ、WBT-200は在庫切れということでWBT-100に無料アップグレードしてくれるとのこと(WBT−100はWBT-200に電子コンパスを追加したモデル)。
私がWBT-100を購入したサイトにはBluetooth機能の活用例も書いてあった。会社や家族の車にWBT-100を忍ばせておいて、同僚や家族が帰ってきたら車に近づいてGPSログデータをBluetooth経由でこっそり読み取り、私用で使っていないかなどをチェックするのだそうだ。ちょっとやな感じ。ともあれ、WBT-100の到着が待ち遠しい。

Acrobatではデータベース管理にMySQLが使われている

8月 28th, 2006
[`evernote` not found]
Facebook にシェア

最近、Acrobat 7 Professional(Mac OS X版)を立ち上げるたびに「PDFキャビネットデータベースを初期化できませんでした。PDFキャビネット機能は使用できません。」というダイアログが表示されるようになってしまった。
いろいろ調べてみると、PDFキャビネットの機能はMySQLを使って実現されているらしい。で、私が最近インストールしたMySQLとバッティングしている(というか、同じ設定ファイルを読みに行っている?)模様。Adobe BridgeもMySQLを使っているみたいだが、こちらは特に問題にはなっていない。
アドビ システムズのテクニカルサポートに尋ねたところ、同じ症状はほかのユーザーでも出ているが、今のところ対処法は自分で入れたMySQLをアンインストールするしかなく、共存はできないらしい。改善の要望は必ず上に上げるとサポートの担当者はいってくれたが。
PDFキャビネットはほとんど使っていなかったのでそれほど困りはしないものの、使えないといわれると何だか使いたくなってくる。
このMySQLのトラブルは、従来Macのソフトウェア文化とUNIX由来のそれがぶつかってしまった例といえるのかな(Mac OS XはUNIX互換OS)。アップルはオープンソース(最近はFLOSS(Free/Libre and Open Source Software)とかいうんだっけ?)を積極的に導入しているので、こういうトラブルも増えてくるかもしれない。Mac OS X v10.5 “Lepard”では、Ruby on Railsも標準搭載されるようだし(Railsでは標準で利用するRDBMSがMySQLになっている)。こういうことに関するガイドラインを用意しておかないとまずいんじゃなかろうか。

NewsGator + NetNewsWireで読むRSSフィード

8月 2nd, 2006
[`evernote` not found]
Facebook にシェア

ここのところしばらくRSSリーダーをほとんど使っていなかった。せいぜい共同作業用Wikiの更新チェックをするくらい。理由はやはり大量の未読エントリ恐怖症。大量のエントリがたまって憂鬱になってしまうのだ。
しかし、特定のトピックを追いかけたりするには、RSSリーダーが便利なことも事実だ。よく読むフィードと読まないフィードを随時整理していけばいいんじゃないかと思い直して、改めてRSSリーダー環境を整備してみることにする。
レンタルサーバーを借りているんだからとFreshReaderをインストールしてみたり、FeedPathでタグを使ってみたりしたのだが、イマイチしっくりこない。どのサービスもかなりよく考えられており、特にソーシャルブックマークの考え方を取り入れたFeedPathのタグはすばらしいのだけど、Webブラウザで使う限りユーザーインターフェイスに制約がある。登録したフィードのカテゴリをあれこれいじって整理しようとした時に、Web上のRSSリーダーだとやりにくい。
じゃあ、アプリケーション型のRSSリーダーにするかというと、複数のパソコンでの未読/既読の同期とか、携帯電話からのアクセスがしにくいということもあって……。
そういや、愛用していたMac用のRSSリーダー「NetNewsWire」がNewsGatorに買収されたのだったなと思って久しぶりに使ってみると、これが実によいのだ。NewsGatorはWeb上のRSSリーダーサービスなのだけど、NetNewsWireやWindowsのOutlook用プラグイン「NewsGator Inbox」、「FeedDemon」と同期できる。登録フィードだけでなく、未読・既読の状態も同期できるのだ。こういうことを行うためには、有償のNewsGator Online Premiumでないといけないのだけど、NetNewsWireのユーザーなら2年間無料で使えるようだ。完全に見逃していたなあ。
NetNewsWire上でフィードの整理も楽にできるし、携帯電話からの閲覧機能も必要最小限とはいえ使い勝手は悪くない(W41CAの場合、EZブラウザではうまく日本語が表示されないが、PCサイトビューアなら問題ない)。AppleScriptを使えば、はてなブックマークへのエントリ追加も楽にできる(Brewed Fresh Dailyで公開されているdel.icio.us投稿スクリプトをちょっと修正すれば、はてなブックマーク用のスクリプトになる。最後から2行目を「open location “http://b.hatena.ne.jp/add?mode=confirm&url=” & u」に変更すればOK)。
しばらくはこの環境でやっていこう。

Office2007のODF対応が示唆するマイクロソフトの戦略転換

7月 7th, 2006
[`evernote` not found]
Facebook にシェア

マイクロソフトが、Office 2007でのODF対応を発表したというニュース(ITpro)。これからのデータ形式はネット上であれ、ローカルなパソコン上であれ、すべてXMLがベースとなるというのは衆目の一致するところ。しかし、オフィスソフトの文書形式としては、「Open Document Format(ODF)」と、マイクロソフトがOffice2007で標準形式にしようとしている「Open XML Document」が対立している状態だ。
今回のニュースは、Open XML Document形式をODF形式に変換するツールを提供ということであり、Office 2007自体が直接ODFをサポートするわけではないようだ。それでもこのニュースは、マイクロソフトの持つ危機感を表しているようで興味深い。これは、もしかするとマイクロソフトがCGM(Consumer Generated Media:消費者側が生成するメディア)の価値を高く評価するようになってきたということなのかも。つまり、独自形式で顧客を囲い込むより、価値の高いコンテンツをOfficeからシームレスに利用できた方が得策という考え方だ(Googleをはじめとする今時の企業からすれば今さら何をという感じだろうが)。
直接の関係があるかどうかはわからないが、GoogleはGoogle Spreadsheetという表計算サービスを開始している。Google Spreadsheetでは、複数人が1つの表を共有して作業を行うことも可能だ。今後、インターネットを介した文書共有などを展開していく場合、マイクロソフト独自形式はもはや足かせにしかならないと考えた、というのはちょっと希望的観測が入り過ぎかな。

MacBookで外部CRTを使う際のリフレッシュレート

7月 4th, 2006
[`evernote` not found]
Facebook にシェア

Mac mini(PowerPC版)の調子がどうにもおかしいので(外付けHDDをつなぐと不安定になる)、MacBookで作業を行うことにする。ノートとはいえ、動作速度はこちらの方が速いし、今使っているCRTディスプレイ(TOTOKUのCV821X)とデュアル環境にすればそれなりに快適かなと。
「Apple Mini DVI-VGAアダプタ(M9320G/A)」を購入して、MacBookとCV821Xを接続。CV821Xの解像度を1600×1200ドットにすると、リフレッシュレートとして60Hzしか設定できず、表示が非常にチラチラする。WindowsマシンでもMac miniでも1600×1200ドット/85Hzで表示できていたのに!
MacBookと同じインテルのGMA950を使っている他のパソコンでは、1600×1200ドット/85Hzで外部ディスプレイに表示できるようだ。ビデオチップやディスプレイの問題というより、MacBook側で有効な解像度をチェックする仕様に問題があるような気がする。
アップルのサポートでも結局納得の行く回答はえられず。command+option+P+RでPRAMをクリアしたらもしかしたらうまく行くかもしれないといわれたが、やはりというか効果なし。強制的にリフレッシュレートを変更できるツールがあるといいんだけど。

Mac OS Xでは、テキスト入力時に黒い背景だとマウスポインタが見えなくなる

7月 2nd, 2006
[`evernote` not found]
Facebook にシェア

DOS時代からテキストエディタに親しんでいることもあって、私はテキストエディタの背景を黒、文字を白にして使っている。Windows XPでは、背景が黒の場合、当たり前のようにマウスポインタ(Iビーム)が白くなる(白の背景と黒の背景の境目に置くと、マウスポインタは部分的に白くなる)。ところが、Mac OS Xでは、Iビーム形状のマウスポインタについてこういう処理が行われない。要するに、テキストエディタで背景を黒にすると、マウスポインタが見えなくなってしまうわけだ。以前、Mac用テキストエディタの開発者にうかがったところ、どうもこれはMac OS Xの仕様らしく、改善の要望は出しているもののまだ反映されていないということ。
Parallels Desktop for Mac上のWindows XPでも同じ問題が起こる。Parallels Desktop for MacにWindows XPを入れた直後は、マウスポインタをWindows側が制御しているため、黒の背景でIビームはきちんと白くなる。ところが、Parallels Toolsという付属ツールをインストールすると、マウスポインタの制御をMac OS Xが行うようになるためか、Iビームの挙動もMac OS Xと同じになってしまうのだ。
たぶん、マウスポインタカスタマイズツールのMighty MouseがインテルMacに対応すれば、このあたりは解決すると思うのだが。
Mac OS XとWindows XPの仕様についてのニッチな話でした。

(2007年7月28日)
久しぶりにMacのテキストエディタをいじってみたところ、背景色が黒の時でもちゃんとIビームが見える。OSのアップデートで修正されたのかな? ただし、Parallels上のWindowsアプリに関してはIビームの挙動は相変わらずで、背景色が黒だと見えなくなってしまう。

Mac OS X上のWindows XPでテキスト入力

7月 1st, 2006
[`evernote` not found]
Facebook にシェア

Macを使い始めて5年以上は経つが、未だに長文のテキスト入力はWindows上で行っている。Mac OS X用にもJedit Xなどのテキストエディタはいろいろ出ているのだが、どうも手になじまない。
ところがMacBook上で最近話題のParallels Desktop for Macを使うと、このあたりがいい感じで解決できそう。Parallels Desktop for Mac上のWindows XPはなかなかの動作速度だし、7月1日に発表されたばかりのAppleK for Parallelsを使うと、Mac用キーボード特有の「かな」「英数」等のキーもWindows上できちんと動作する。
しかも、Parallels Desktop for Macでは、ゲストOSとホストOS間で共有フォルダを持てるようになっている。Mac OS Xの通常のフォルダに作成したファイルを、Windows用のテキストエディタでそのまま編集できるわけだ。WindowsとMac OS Xの両方で(同じバージョンの)ATOKを使っている場合、ATOK Syncでユーザー辞書を同期できるのもいい。
テキストエディタのためだけに、大量のメモリを使ってWindows XPを動かすっていうのも変な話なんだけど、やっぱり快適なんだよなあ。