2013年11月20日水曜日

Safari 6.1アップグレードトラブル

少し前にソフトウェアアップデートでSafari 6.1がリリースされていました。まだ、Mountain Lionを使っています。すぐには上げず、SafariStandなどのPluginや機能拡張が対応しているのを確認・最新版にして、アップグレードしようとしました。
ところが、インストールしたSafari 6.1を起動しても途中で止まったままになり起動しません。調べてみたらGlimsというプラグインをインストールしていたのを忘れていました。Glimsは、/Library/Internet Plug-Ins/というディレクトリにインストールされるため、うっかり見逃していました。
Glimsは、Safariのタブの幅を一定幅以下にしたり、タブにfaviconを表示する機能があります。元々の使用目的はタブを一定の幅以下にすることでしたが、SafariStandにもその機能が含まれていますので、この際使用を止めることにしました。
アンインストールは、/Library/Internet Plig-Ins/からGlimsのプラグインを削除するのではなく、Glimsのインストーラに入っているアンインストーラを使う必要があります。
アンインストール後は、特に問題なくSafariが使えています。

ちなみに、今インストールしている機能拡張とプラグインは以下の図のようなものです。

AdBlockerとParty Pooperは、インストールしてはいますが使っていません。機能的には現在見ているページから第3者のページの表示を制御するという点で似ていると思います。
今のところは、Incognitoで、FacebookやGoogle Analyticsを第3者ページということで外すようにしています。広告はそれほど気にならないのですが、アクセス情報が収集というかトラッキングされているのが気になりますね。

2013年10月30日水曜日

テレコムスクエアのクレジットカード情報流出 (2)

テレコムスクエアの情報流出は、私は対象ではないと思っていましたが、どうもひっかかっていたようです。
テレコムスクエアからお詫びとしてAmazonのギフト券(1,000円)の案内が送ってきました。
自分が当事者になるとは思ってもいなかったので、びっくりです。
クレジットカードは更新しているので大丈夫だとは思いますが。
このような内容でブログを書くことも、個人情報の特定の面からはよくないのかと思ったり。流出した情報を持っている人は、持っていない人より、私を特定するのははるかに簡単ですよね(確率的に)。

2013年9月24日火曜日

テレコムスクエアのクレジットカード情報流出

最近、セキュリティやプライバシーに関するニュースがありました。Macとはあまり関係ありませんが、自分の使っているサービスだったのと、セキュリティはPCの機種や使用状況に関わらず気にしないといけないと思うので、ちょっと書いてみます。

ここでは、テレコムスクエアへの不正アクセスでクレジットカードデータが流出した事件について書きます。
テレコムスクエアでは携帯電話のレンタルサービスをしています。海外出張で何回か使ったことがあったので、自分のデータが該当していないかと心配しましたが、かすったようで大丈夫だったようです(調査が正しければ)。また、上記サイトのリンク先やニュースサイトITProによると該当する人は以下のようです。
(1)2008年7月1日~2013年4月30日に、各法人専用Webサイトを利用した法人ユーザー、(2)2012年6月1日~10月14日に同社の個人向けWebサイトから申し込んだユーザー、(3)個人向けWebサイトで申し込み、2012年10月15日~2013年2月5日に宅配便または空港の返却BOXで返却したユーザー。
クレジットカードのデータが流出して勝手に使われると、金銭的な損失や信用の喪失、クレジットカード会社や場合によっては警察等の対応への時間的損失や精神的なダメージなどかなり大変な状況になります。
今回の事件で一番悪いのは不正アクセスしたクラッカーでしょうが、クレジットカード情報を長期間保存していたサイトにも非があるように思います。テレコムスクエアは、今後はすべて自社サイト運営にしてクレジットカードデータの保存も必要最小限にするといっているので改善されるとは思います。
ユーザ側で、何か防御策があるのかと考えると、利便性を保とうとするとあまり有効な手立てはないように感じます。例えば、以下のような方法は思いつくのですが、

  1. クレジットカードを使わずに、現金払い、振り込みを利用
  2. 限度額の小さいカードや毎回異なるクレジット番号をくれるサービスの利用
  3. 会社で社用のクレジットカードがある場合は、それを利用

クレジットカードの目的が信用をベースにして種々の取引を簡便にすることがメリットだと考えると(*)、1や2の方法は、そのメリットを無くす方向です。また、1は使えないサービスもありますし、2をサポートしているカード会社もあまり多くはなさそうです。クレジットカードをよく使う人だと、2の情報管理の負担も増えそうです。3の方法は、会社によっては利用できませんし、最終的には被害にあう相手が変わるだけです。
どうしたらいいの、とも思うのですが、現状では、利便性とリスクや面倒さを天秤にかけて、自分で選んでいくしかないのかなと思います。後は、カード会社からの利用履歴をちゃんと確認したり、できればセキュリティ関連のニュースも気にするということでしょうか。本来は、ニュースを気にしなければならないのはおかしいでしょうが。

(*) 別の考え方では、クレジットカード会社が、顧客のお金を使いやすくして最終的には、顧客のお金を吸い上げていくビジネスモデルなのかもしれません。

2013年9月8日日曜日

MP3の再生速度を半分にする

iTunesに以前入れていたアルバムで、再生速度が途中から2倍になっていたものがありました。
10年ほど前に、カセットテープからデジタル化したので、途中でセッティングを変えたか、間違えてしまったのだと思います。もう一度同じ音源から取れればいいのですが、事情がありすぐには再取込みできない状況です。カセットテープが遠くの実家にあるのと当時使った機材(Windows PC)が壊れてしまいました。
ということで、すぐ録り直すのはあきらめて、現存のデータで何とかすることにしました。
今回は、この1曲(というか1データ)だけだったので、Audacityというアプリケーションを使いました。Audacityは、その開発サイトによると「フリー、オープンソースでクロスプラットフォームのレコーディング・サウンド編集ソフトウェアです」ということです。

Audacityのダウンロード

はじめ、Audacityの最新版2.0.4をダウンロードしてきたのですが、曲を再生してもブツブツ途切れたり、アプリケーションが突然終了したりであまり調子がよくありません。9月6日(時差を考えると1日前)がリリース日ということで、まだバグが残っているのかもしれません。
今回は、ダウンロードリンクから古いバージョンを探し、2.0.3をインストールして使いました。こちらの方は、曲の再生と安定性は問題ありませんでした。

曲の読み込み

はじめに、iTunesに入っている曲をFinderで表示します。
曲を選択した状態でメニューバーまたは右クリックで「Finderで表示」を選びます。

Finderで表示されたら、それを直接使うのではなく、一旦別の作業フォルダにコピーして、以降こちらを使うようにします。

Audacityに読み込むには、メニューからも読み込めますが、メインウインドウにドラッグアンドドロップするのが簡単です。

正常に読み込まれた後は、以下のような波形が表示されます。

速度変更したい部分のコピーと速度変換

ウィンドウ下部の選択開始、終了ペインで時間を指定し、再生ボタンで確認しながら変換したい範囲を選択します。

選択範囲をカットします。心配ならコピーでもかまいませんが、後でカットする必要があります。
次に、メニューバーから「ファイル(F)」->「新規(N)」を選び新しいウインドウを開きます。

そこに、先ほどカットした部分をペーストします。

全範囲を選択し再生速度を変更します。メニューバーから、「エフェクト(c)」->「スピードの変更...」を選びます。

次のようなウインドウが現れます。今回はスピードを半分にしたいので、-50.0としました。プレビューボタンを押すと、どのように再生されるか確認できます。

変換が完了したら、変換後の範囲(全部)を選択して、コピーします。
そして、最初にカットしたウィンドウに戻ってペーストします。時間のマーカーを動かしていなければ、後ろにペーストされます。

繋ぎ目あたりを再生して、違和感がないか確認します。この例では問題ありませんでしたが、ノイズや急に変わって違和感がある場合は、フェードイン・フェードアウトや無音期間を入れるなど工夫が必要かもしれません。

書き出し

メニューバーから「ファイル(F)」->「書き出し...(E)」を選んで書き出します。
今回は、AIFFにしてそれをiTunesで読み込み、AACに変換することにしましたが、Audacityで直接MP3を書き出したり、ffmpegをインストールすれば、AACを書き出すことも可能のようです。(確認はしていませんが)


速度変換したい曲やポッドキャストが大量にあり、範囲を調整しなくていいような場合は、ffmpegやsoxのようなツールの方が効率がいいかもしれません。

2013年8月20日火曜日

MacのPreviewで表示できないtiffファイルに遭遇

最近導入された会社の複合コピー機(Fuji Xerox C6680)にはスキャン機能がついています。
スキャンしたファイルは、WindowsとMacの共有フォルダにTIFFファイルとして保存するようにしています。というか、TIFF以外での保存ができないようです。
そのTIFFを、Mac側から表示したりするのですが、カラー画像の場合、MacのPreviewやその他ほとんどのグラフィックソフトで開くことができませんでした。モノクロのスキャンの場合は問題なかったのですが。また、Windowsのペイントなどでは問題なく開くことができます。

いろいろなグラフィックソフトを調べると、MacでもGraphicConverterでは開くことができました。GraphicsConverterは独自の画像フォーマットライブラリを持っているのでしょう。ただ、GraphicConverterはシェアウェアで試用しただけで、常用は考えていません。
独自の画像解析を持っていそうなソフトということで、ImageMagickを試してみたところ、convertコマンドで変換ができることがわかりました。ImageMagickはMacPortsで導入しました。
使い方は簡単で、JPEGにするには以下のようにします。PDFに変換する場合も拡張子を.pdfにするだけです。

$ convert input.tif output.jpg

変換の際、次のようなワーニングが出ます。

convert: Depreciated and troublesome old-style JPEG compression mode, please convert to new-style JPEG compression and notify vendor of writing software. `OJPEGSetupDecode' @ warning/tiff.c/TIFFWarnings/824.

変換されたJPEGやPDFは、Previewなどで問題なく開けるので、これ以上は調べていませんがこのコピー機の出力時のフォーマットが古い形式だということのようです。

2013年7月29日月曜日

iPhone4のホームボタンの調整

家族にあげたiPhone4のホームボタンの反応が悪くなってきたので、調整することにしました。
いくつかウェブを検索すると、指ではじくといったものや無水アルコールで洗浄する方法などがありましたが、効果はいまいちのようでした。また、アップルに修理に出す方法や、自力で部品交換する方法もありますが、ちょっと気軽にできません。その中で割りと簡単にできて、効果があると書いてあるページも多い、スリープボタンを併用してソフトウェア的に調整する方法を試しました。
結果は、調整後は反応はややよくなったように感じます。劇的によくなったと書いてあるページもありますが、ちょっと微妙です。それと、1回しかボタンを押していないのに、2回押したようになる(チャタリング)はたまに起きるままです。

私は以下の方法を試しました。iOSのバージョンは6.0.2です。


  1. iPhoneを起動します。
  2. ストックアプリケーション(iPhoneを購入時に付属しているアプリケーション)を立ちあげます。私はカレンダーにしました。ウェブサイトによっては、ストックアプリケーションと書かず、なんでもいいとしているところもあるようです。
  3. スリープボタン(電源ボタン)を長押しすると、電源オフの表示が出ます。
  4. 最後に、その表示の状態でホームボタンを長押しし、ホーム画面が出るまで待ちます。サイトによっては、やや軽めに押すとよいと書いてあります。


以上ですが、2.のアプリケーションの選択と4.の押す強さは注意してみてください。何回かやってみるといいかもしれません。
今回は、多少はボタンの反応はよくなったと思いますが、これにAssistiveTouchも使って、ホームボタンの劣化を押さえてもらおうと思います。
ホームボタンの反応が悪い人は試してみてはどうでしょうか。よくなるかもしれません。

2013年7月21日日曜日

fileコマンドがテキストファイルでエラーになる問題の回避

昨日、WindowsやLinuxで作成したテキストファイルの文字コーディングを調べようとしたら、fileコマンド( /usr/bin/file )でエラーがでました。
fileコマンドは、ファイルの音声や画像などの種類や、テキストファイルの場合文字エンコーディングなどを表示してくれるコマンドです。
やりたかったのは、UTF-8以外のファイルを探して、必要ならばUTF-8に変換しようと思ったのですが。

例えば以下の内容のファイル(UTF-8)をfileコマンドで調べると、ERRORとなります。(OS X 10.8.4)


$ cat test.txt
- 外部キー
  他のテーブルの主キーとなるキー
  外部キーは表の結合に用いる
od -c -t x1 test.txt
0000000    -      外  **  **  部  **  **  キ  **  **  ー  **  **  \n    
           2d  20  e5  a4  96  e9  83  a8  e3  82  ad  e3  83  bc  0a  20
0000020       他  **  **  の  **  **  テ  **  **  ー  **  **  ブ  **  **
           20  e4  bb  96  e3  81  ae  e3  83  86  e3  83  bc  e3  83  96
0000040   ル  **  **  の  **  **  主  **  **  キ  **  **  ー  **  **  と
           e3  83  ab  e3  81  ae  e4  b8  bb  e3  82  ad  e3  83  bc  e3
0000060   **  **  な  **  **  る  **  **  キ  **  **  ー  **  **  \n    
           81  a8  e3  81  aa  e3  82  8b  e3  82  ad  e3  83  bc  0a  20
0000100       外  **  **  部  **  **  キ  **  **  ー  **  **  は  **  **
           20  e5  a4  96  e9  83  a8  e3  82  ad  e3  83  bc  e3  81  af
0000120   表  **  **  の  **  **  結  **  **  合  **  **  に  **  **  用
           e8  a1  a8  e3  81  ae  e7  b5  90  e5  90  88  e3  81  ab  e7
0000140   **  **  い  **  **  る  **  **  \n                            
           94  a8  e3  81  84  e3  82  8b  0a                            
0000151
$ file test.txt
test.txt: ERROR: line 22: regexec error 17, (illegal byte sequence)

fileコマンドで、regexec関数を呼び出していて、その関数が不正なバイトの並びを見つけたというエラーのようです。test.txtは3行しかありませんので、行番号の22は、コマンドかライブラリのソースコードの行番号でしょう。
以前は、このようなエラーを見たことがなかったのですが、いつから出るようになったのでしょうか。

いろいろ試行錯誤したところ、localeの環境変数(LANGなど)を消すかCにすると正常に表示されるようになりました。

echo $LANG
ja_JP.UTF-8
$ LANG=C file test.txt
test.txt: UTF-8 Unicode text
$ unset LANG
$ file test.txt
test.txt: UTF-8 Unicode text

あまり、めでたしめでたしではないですが、暫定的には解決できました。

2013年7月17日水曜日

DuckDuckGoという検索エンジン


最近、米国中央情報局(CIA)元職員の情報漏洩事件で、米国国家安全保障局(NSA)が米国市民や国外との通信情報を収集していることを告発し、問題になっていますね。
NSAがさまざまな情報を収集しているということは、過去にもいわれていましたが、今回はより具体的な話が出てきたということになります。
例えば、NSAからGoogleやApple, Facebook, VerisonといったIT企業や通信会社に対して、利用者の情報を提供をするよう要請が出されている等、元職員は話しているようですね。たとえ国といえども、プライバシーに関する情報を勝手に集めるのは許されないと問題にしている人も多いようです。

そんな中で、最近DuckDuckGoという検索エンジンが注目を集めているようです。
DuckDuckGoは、ユーザの情報を収集・保存しないということをポリシーとしている検索エンジンです。収入源は、DuckDuckGo経由でAmazon等のショッピングサイトでユーザが買い物をした場合に入る報酬だそうです。
DuckDuckGoは、アクセス情報、検索履歴等を保存していないため、政府機関から情報提供の要請があっても出す情報自体がないという訳です。(日本では、アクセスログなどを保存しないといけない法律が検討されているようですが)

個人的にも興味があり、どんなものか使ってみました。
検索エンジンなので、その性能自体が悪いと仕方ないので検索の使い心地を調べてみました。全部、体感レベルの話でちゃんとした計測はしていません。
実行速度については、他の検索エンジンと変わらないようです。
また、検索機能についてですが、まずデフォルトの設定で使用すると検索ワードが英語の場合、英語のサイトが多く出てきて、日本語の情報はあまり出てきません。設定で地域(region)をJapanにすると日本語ページも上位に出てきて使いやすくなります。
検索精度の印象ですが、時事的な内容(例えばアシアナ航空の事故など)でも、ちゃんと引っかかるようで特に問題は感じませんでした。専門的な内容だとちょっと物足りない場合もあり、Googleの方がより適切な情報を示してくれることもありました。
DuckDuckGoの精度が悪いというよりは、Googleが私の検索履歴、IPアドレス等を利用してより精度を高めている印象です。
また、DuckDuckGoの方が検索欄に入れる言葉の順序による影響が大きいです。
全体としては、予想よりも使えそうなので、もうしばらく使ってみようと思います。

本当はプライバシーについても書こうとしたのですが、長くなってきたのと自分でも整理できていないことがわかったので、別の機会に書こうと思います。(整理できたかどうかは別にして)

また、気になる人は、ウェブブラウザーのトラッキングやトラッキングクッキー、プライベートブラウジングについての設定も調べるといいと思います。
Safariでは、環境設定->プライバシー->Webサイトによるトラッキング、FirefoxやChromeでも同様の設定があります。ただ、現状ではWebサーバー側で対応しているところは少ないようです。

2013年7月9日火曜日

terminal-notifierを使ってみる(続き)


前の記事で紹介したterminal-notifierですが、ひとつ気になる点がありました。前回の記事にも書いていますが、標準入力を受け取って表示できない点です。
調べてみると、標準入力を受け取るようにしてほしいという要望は出ているようです。そして、RubyGem (Rubyのパッケージシステム)でインストールした場合は、Rubyの中からは標準入力が使えるようになっているようです。
ということで、ソースコードを見てみました。関係あるところは下記のようです。


unless ARGV.include?("-message")
  ARGV.push(*["-message", STDIN.read.chomp])
end


あまり、人のことは言えませんが、ちょっと手抜きかもですね。
-messageオプションが指定されていなかったら、強制的に標準入力を読むようですが、-messageは必須ではないので、期待しない動作になるかもしれません。
それと、標準入力は、Ruby側でなく、terminal-notifierの本体側で処理すべきな内容にみえます。

私は、RubyGemを使わずインストールしたのと、terminal-notifierをシェル(bash)で使いたいので似たようなラッパスクリプトを書いてみました。


#!/bin/sh

TNCMD=/opt/local/libexec/terminal-notifier.app/Contents/MacOS/terminal-notifier

if [ -t 0 ]; then
    $TNCMD "$@"
else
    msg=`cat -`
    $TNCMD -message "$msg" "$@"
fi


このスクリプトでは、標準入力が端末以外(コマンドのパイプなど)になっている場合、そこからcatコマンドで読むようにしています。
本当は、else部で-messageオプションが使われているかどうか調べる方がいいんですが、手抜きですね。-messageオプションが重複している場合、"$@"の中で-messageオプションが使われていると、そちらが実行されるようです。

もうひとつ、terminal-notifierで通知を表示する場合、アイコンがジェネリックなアプリケーションアイコンになるのもできれば改良してもらえるとありがたいですね。

でも、通知センターがMac OS Xの標準機能になったためか、growlnotifyでは時々取りこぼしが起きていたのが、terminal-notifierでは起きないようです。

2013年7月7日日曜日

terminal-notifierを使ってみる

今まで、Mac上での定期的な通知にはgrowlnotifyをよく使っていました。でも、最近のMac OS Xでは、growlに似た通知機能がOSの通知機能(Notification Center)として提供されています。そこで、growlnotifyの代替を探してみると、terminal-notifierというものがありました。
ここで、alloyという方が開発提供されています。

そこからダウンロードしてもいいんですが、普段使っているMacPortsでインストールすることにしました。MacPortsで導入する方が、アップデートがあったかどうかがわかりやすいかなと思ったからです。
Rubyで使いたい人は、gemでもインストールできるようですね。

インストール後の使い方ですが、ターミナルから以下のように、引数なしでコマンドを入れて確認できます。

$ terminal-notifier 
terminal-notifier (1.4.2) is a command-line tool to send OS X User Notifications.

Usage: terminal-notifier -[message|list|remove] [VALUE|ID|ID] [options]

   Either of these is required:

       -message VALUE     The notification message.
       -remove ID         Removes a notification with the specified ‘group’ ID.
       -list ID           If the specified ‘group’ ID exists show when it was delivered,
                          or use ‘ALL’ as ID to see all notifications.
                          The output is a tab-separated list.

   Optional:

       -title VALUE       The notification title. Defaults to ‘Terminal’.
       -subtitle VALUE    The notification subtitle.
       -group ID          A string which identifies the group the notifications belong to.
                          Old notifications with the same ID will be removed.
       -activate ID       The bundle identifier of the application to activate when the user clicks the notification.
       -open URL          The URL of a resource to open when the user clicks the notification.
       -execute COMMAND   A shell command to perform when the user clicks the notification.

When the user activates a notification, the results are logged to the system logs.
Use Console.app to view these logs.


通知を表示し、更にURLを開いたりコマンドを実行できるなどの機能もあるようですが、今回は使いません。
例えば、以前の記事のgrowlnotifyの例は、こんな感じにすればいいみたいです。

$ terminal-notifier -message "`date +今日の%H:%M%n金魚にえさ`" -title crontab -group feed

表示はこんなふうになります。


標準入力をterminal-notifierに渡す方法がなさそうなので、時刻などはメッセージの中にdateコマンドを埋め込んで表示しています。
-groupオプションは、同じID(ここでは、feed)が指定してあるメッセージを上書きするようなイメージです。
-titleをcrontabにしているのは、この通知をcrontabで定期的に表示させたいためです。

また、表示スタイルを変更したい場合は、システム環境設定の通知で少しだけ変更できるようです。

とりあえず、growlnotifyの代替として使えそうです。

2013年6月23日日曜日

MavericksってHalf Moon Bayにあるんですね

Surfin in Mavericks
2010 Mavericks Competition from Wikipedia
今回の記事はMacは関係ありませんので、ごめんなさい。
今年のApple WWDCで新しいMacのOSの愛称としてMavericksが紹介されましたね。
Californiaと言っていましたがどこだろうと思って調べたらHalf Moon Bayにありました。

サーフィンの名所とのことでGoogleの画像検索でMavericksと入れると北斎の神奈川沖浪裏みたいな画像が大量に出てきます。

実は10年以上前にアメリカに住んでいたことがあるのですが、Half Moon Bayにも何度か行ったことがあり、懐かしくなりました。私が行った時は(多分Mavericksとは別の海岸ですが)、波も高くなくサーフィンの名所とは知りませんでした。何人かサーフィンをしている人はいましたけど。後、馬の散歩をさせている人もいましたね。
夏なのに海の水が、谷川の清流のようにすごく冷たかったことを覚えています。

Beach BoysのSurfin' U.S.A.ではもう少し南に下がったSanta Cruzが出てきますが、この辺り一体は太平洋の荒波を受けてサーフィンにいいのかもしれませんね。

2013年6月17日月曜日

MacBook Airのフタを閉じたら外付けディスクを自動アンマウント

MacBook Airを取り外して会議に出かけるときや自宅に持って帰る時、ディスプレイのフタを開けたら下の図のようなウォーニングが出ていることがあります。
理由は、MacBook Airのディスプレイを閉じて、その後USBケーブルを抜くのですが、外付けディスクをFinder上で取り出すという操作をしていないためです。
ファイルやディスクが壊れる原因にもなるのですが、急いでいると忘れてしまいます。

持ち運びする時は大概の場合、ディスプレイを閉じるのでスリープ状態になります。ということは、以前Synergyを使う際にインストールしたSleepWatcherが使えそうです。
スリープに入る際に外付けディスクをアンマウントすれば良さそうです。USBを再接続した時は、以前から自動でマウントされていますので、そのままで良さそうです。

現在のMacBook Airの設定では、~/.sleepというshスクリプトファイルにコマンドを書けば良いようにしています。
まず、ディスクがどのような名前でマウントされているか確認します。

$ mount

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
map -fstab on /Network/Servers (autofs, automounted, nobrowse)
/dev/disk1s3 on /Volumes/ExFAT (exfat, local, nodev, nosuid, noowners)
/dev/disk1s2 on /Volumes/Backup (hfs, local, nodev, nosuid, journaled)

1本のディスク(/dev/disk1)をパーティション分けして使っていたので、disuutilのunmountDiskコマンドを使うことにします。umountのmanを見ると、diskutilを使えて書いてありました。

~/.sleepに、以下のコマンドを追加して試したところ、うまくいきました。


/usr/sbin/diskutil unmountDisk /dev/disk1 2>&1 | logger


最後のloggerは、システムログにメッセージを出すためです。

2013年6月9日日曜日

bashのsequence expressionをfor文で使おうとしたら

bashにsequence expressionというものがあります。
例えば、{1..5}と書くと1 2 3 4 5に展開されます。
$ echo {1..5}
1 2 3 4 5
ファイル名の一部に連番がある場合にファイル名の生成に使ったり、for文の範囲指定に使えます。
例えば、
for i in {1..5}; do
  echo $i
done
と書くと、実行結果は
1
2
3
4
5
となります。ところが、範囲指定のどちらかに変数になっていると期待通りにはなりません。
N=5
for i in {1..$N}; do
  echo $i
done
では、結果は
{1..5}
となって、sequence expressionが表示されます。ブレース展開({}を用いた式の展開)は、bashの実行の最初期に行われ、その後変数展開が行われるためとのことです。
どうしても使いたい場合は、以下のように{1..5}となる部分をもう一度評価する必要があります。

N=5
for i in `eval echo {1..$N}`; do
  echo $i
done
の実行結果は
1
2
3
4
5
となります。最初に考えた{1..$N}より随分長くなってしまいます。これなら、以前のseqコマンドを使った書き方の

N=5
for i in `seq 1 $N`; do
  echo $i
done

が短いですね。
seqは外部コマンドで、eval, echoはbashの内部コマンドなので多少evalの方が軽いかもしれませんが、使う状況を考えるとseqのままで良さそうです。

2013年6月8日土曜日

icalBuddyをバージョンアップ [追記: 6/8 18:00]

icalBuddyというコマンドラインプログラムを使って、GeekTool, NerdToolで予定やTo Doを表示しています。
でも、Mountain Lionにしてから予定(カレンダーのデータ)が表示されなくなっていました。やっと重い腰を上げて解決することにしました。といっても結局バージョンアップしただけですが。
icalBuddyは、http://hasseg.org/icalBuddy/ で、Ali Rantakariさんが公開されています。
まず、動作しない原因ですが、icalBuddyがAddress book (連絡先)のデータにアクセスするときに拒否されてクラッシュしているためのようです。

2013-06-08 06:01:53.330 icalBuddy[99070:2623] Address book access is denied for executable at path: /usr/local/bin/icalBuddy
2013-06-08 06:01:53.331 icalBuddy[99070:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:: nil value'

上記のエラーメッセージと共にスタックダンプも表示されます。想像ですが、アドレスブックにアクセスしようとして拒否され、そのデータが取れずにnilになってicalBuddyが終了というかクラッシュしたように見えます。
icalBuddyのウェブを見るとFAQにエラーメッセージを表示させないための解決方法が載っていました。
  1. icalBuddyにAddress bookのアクセス権を与える
  2. エラーメッセージを/dev/nullに送る
のどちらかを実行すればいいと書いてありますが、2番目はクラッシュを回避できないように思います。
気になったのは、カレンダーのデータを表示するのになぜAddress bookにアクセスする必要があるのかですが、特に記述はありませんでした。誕生日データを参照しようとしているのでしょうか。

1番目の解決策を試す前に、現在使っているバージョンが1.7.19と古いので最新版(1.8.8)にアップデートすることにしました。
今まではコンパイル済みのバイナリをインストールしていたのですが、ソースコードも欲しいと思い上記サイトのgitのアドレスから入手、コンパイルすることにしました。

念のためですが、以下の手順は普通にicalBuddyのサイトからコンパイル済みのバイナリ入りZIPファイルをダウンロードすることで全然かまわないです。

あらかじめ、Xcodeとcommand line toolをインストールしておく必要があります。
ビルド、インストールは以下のようにしました。

$ git clone http://hasseg.org/git-public/icalBuddy.git/
$ make 64BIT=1

単純なmakeだと32bit バイナリが生成されたので、気分的に64bitを指定してみました。
すると、今度はuniversal binaryになったので、上記makeのコマンドをコピペして、-arch i386を削って直接実行しました。複数行になっていますが、一行です。

$ clang  -O3 -Wall -std=c99 -force_cpusubtype_ALL -mmacosx-version-min=10.5 -arch x86_64 -framework Cocoa -framework CalendarStore -framework AppKit -framework AddressBook -o icalBuddy icalBuddy.m icalBuddy[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*.m ANSIEscapeHelper.m HG*.m IcalBuddy*.m *+HGAdditions.m

元のi386のままでも構わないのですが気分の問題でこうしてみました。
[* 次の文は、修正しました。クラッシュはなくなったのですが、system.logにaccecc deniedというメッセージは出ていました。6/18 18:0]
icalBuddyを実行してみるとエラーが出なくなっています。FAQの1番目のアクセス権を与えることも必要なさそうです。
その後インストールしようと思ったらMakefileの中にinstallターゲットがありません。
packageターゲットでZIPファイルを作り、そこから展開してインストールすることにしました。

$ mkdir deployment   # あらかじめ作っておく必要があるみたい
$ make package # 最後にエラーが出ますが関係なさそうなので気にしないことにします
$ cd deployment/1.8.8/
$ unzip icalBuddy-v1.8.8.zip
$ ./install.command    # /usr/local以外の場合はこのコマンドを修正する必要があります
=================================

This script will install icalBuddy and related files:

(icalBuddy installation found in:
 /usr/local
 -- using same path for updating:)

/usr/local/share/man/man1/icalBuddy.1
/usr/local/share/man/man1/icalBuddyLocalization.1
/usr/local/share/man/man1/icalBuddyConfig.1
/usr/local/bin/icalBuddy

We might need administrator privileges to install to
this location so please enter your password if prompted.

Input y to continue installing, c
to change the installation path or q to quit.
[y/c/q]: y
- Copying icalBuddy.1 to /usr/local/share/man/man1
Password:
  copied.
- Copying icalBuddyLocalization.1 to /usr/local/share/man/man1
  copied.
- Copying icalBuddyConfig.1 to /usr/local/share/man/man1
  copied.
- Copying icalBuddy to /usr/local/bin
  copied.

icalBuddy has successfully been installed.

以上で、icalBuddyがクラッシュしないようになりました。
ソースコード(何故連絡先にアクセスする必要があるのか)は、Cocoa, Objective-Cをよく知らないので見ていません。

2013年5月31日金曜日

Bluetoothデバイスがつながらなくなりました → AppleJackで解決

一週間ほど前のことですが会社のMacBook Airを朝スリープ状態から復帰させた後、マウスとキーボードが繋がらないことに気づきました。前日まで問題なく使えていたのですが。
メニューバーのアイコンを見ると認識はされているようです。

ワイヤレスマウス(Microsoft製)とワイヤレスマウス(Apple製)の両方が同時におかしくなったので、デバイス側の不具合の可能性は低いと思いました。
まず確認のため実行したのは、以下の通りです。

  • デバイスの電池の確認、電源の入れ直し
  • Macの再起動
  • Bluetoothデバイスの削除、再登録

以上を行ったのですが、改善されません。
頻繁に起きるわけではありませんが、いつもだとこれで解決するのですが、だめだったので、更に以下の手順を行うことにしました。

  • ディスクの修復
  • ファイルシステムの修復
  • アクセス権の修復
  • PRAMのクリア
  • SMCのクリア
  • 確実に動いていた時点までのバックアップ復元
  • OS再インストール

念のためですが、すべてを行ったわけではありません。
ここで、最初の3つ(ディスクの修復〜アクセス権の修復)には、このMacBook Airの場合、USBメモリから立ち上げる必要があります。でも、箱を探してくるのが面倒なのと、以前入れておいたAppleJackというメンテナンス用のソフトウェアを思い出したので、それを使ってみることにしました。(Mountai Lionならばリカバリ領域から再起動すればいいのでしょうが)
手順は、以下のようになります。既にAppleJackがインストールされている場合の説明です。

  1. シングルユーザーモードで再起動する
  2. コマンドラインからAppleJackを起動する
  3. 実行したい処理を選択する
  4. 再起動する

シングルユーザーモードで再起動するのは、Macの電源を入れるときに、command + Sキーを押せばいいですね。

しばらくすると、rootの状態でコマンドラインが起動します。
コマンドラインからapplejackと入力します。

For troubleshooting assistance, just type 'applejack' at the prompt
# applejack

すると以下の表示が出ます。日付が昨日になっているのは、ログを取っていなかったので、昨日再実行したためです。

**********************************************************************
* AppleJack 1.6, Revision: 1.144                                     *
* Copyright (c) 2002-10 Kristofer Widholm, The Apotek                *
* - AppleJack comes with ABSOLUTELY NO WARRANTY                      *
* - This is free software, and you are welcome to redistribute it    *
*   under certain conditions, as specified in the GPL LICENSE you    *
*   read during installation of this product: www.opensource.org     *
*                                                                    *
* USAGE (interactive): Just run through the tasks in the menu below, *
*   in ascending order, and let AppleJack fix your machine.          *
* USAGE (automatic mode): To start AppleJack in auto mode, type:     *
*   'applejack auto'                                                 *
*   'applejack auto restart' (restarts computer when done)           *
*   'applejack auto shutdown' (shuts down the computer when done)    *
*   To do a deep clean of the system, use AUTO instead of auto.      *
*   Please see the man page for details: `man applejack`             *
*                                                                    *
* Donations gratefully accepted at http://applejack.sourceforge.net  *
**********************************************************************

Thu May 30 08:53:38 JST 2013. Gathering information...

- User ID: 0, NAME: root
- OS Version: 10.6.8
- According to dynamic_pager, virtual memory is located at /private/var/vm.
- Local root filesystem is journaled

                              AppleJack

Enter the associated number or letter to select the next task.
It is strongly recommended you do them in the order listed!

[a] auto pilot. AppleJack will do all tasks sequentially.

[1] repair disks
[2] repair permissions
[3] cleanup cache files
[4] validate preference files
[5] clean up virtual memory


Your choice (Just hit return to quit):

今回は、1, 2, 4を順に実行しました。4はエラーやワーニングが出なかったので特に必要なかったようですが、ついでに実行してみました。
実行が終わったらreturnキーだけを入力すると、再起動するかシャットダウンするよう促されます。
最後に、restartしたら元通りBluetoothのキーボードとマウスが認識されるようになりました。


Exiting the script.
If you have modified the disk at all, you should restart the computer
before continuing to work.
Would you like to restart your computer, or shut down?




Applejackを実行した時、アクセス権の修復以外では特に問題がなかったので、アクセス権の修復が効いたようです。
これでだめだと、PRAMクリア以降を試す予定でしたが、大事に至らずよかったと思います。

2013年5月8日水曜日

LBT-AR300の音切れは、ほぼなくなりました。

1ヶ月ぶりの投稿になります。

表題のLBT-AR300ですが、iOS 6.1.2で数ヶ月使っていますが、最近音切れがほとんど(*)ないことに気づきました。
以前と変わったのは、LBT-AR300を交換してもらったことと、iOSを6.1.1からアップグレードしたことぐらいですが。

ただ、上で(*)を付けていますが、完全になくなったわけではありません。
LBT-AR300を充電のため曲の途中でiPhoneから切断し、その後、その曲はiPhoneから削除して、翌日再接続すると、途中で切断した曲から演奏が始まる場合があります。あれっと思いながら、そのまま1,2分聴き続けていると、たいていは、途中で止まってしまうことが多いです。
内部バッファが割と大きいのでしょうか。次の曲に移動してくれればいいんですが。
それ以外は、ほとんど音が聴こえなくなることはないですが。

そういえば、1ヶ月ほど投稿をしていなかったら、徐々にスパムコメントが増えてきました。承認制にしているので表には見えないですが、スパマーは、更新されていないブログをターゲットにしているのでしょうか。

2013年4月7日日曜日

LBT-AR300のノイズカバー改良

雑音が大きかったり、壊れたりして2回交換したロジテックのBluetoothレシーバLBT-AR300のお話です。
前回、自作のノイズカバーケースでしばらく雑音が小さくなって喜んでいたのですが、また少し雑音が大きくなって来ました。
調べてみたところ、LBT-AR300本体を包み込む形になるアルミテープの筒の長さが短くて、ケースの中でLBT-AR300が底の方にずれて、ちゃんとカバーできていないためのようでした。LBT-AR300を手で上の方にずらしてあげると、雑音が小さくなります。

ということで、もう一度アルミのカバーを作り直しました。
まず、前回は、手抜きでテープの幅そのままで円筒のカバーを作っていたので短かったのですが、今回は十分全体が隠れるように長くしました。また、前回は円筒状にしていて、上と下が開いていたのですが、今回は底になる部分を作って本体がカバーとずれないようにしました。
アルミテープのカバーをケースに上から見た感じが次の写真です。今回は、テープの裏表を逆にして、ケースをのぞきこんだら金属面が見えるようにしました。自己満足ですが、何となく見映えがいいように思いました。誰に見せるわけでもないんですが。

また、このケースを使い始めてから、使わないときに次の写真のようにケースにケーブルを軽く巻きつけてマジックテープで抑えると、ケーブルがぐちゃぐちゃにならなくてよくなりました。


LBT-AR300からの雑音ですが、内部のカバーを作り直したところ、サーとかザーという種類の雑音はほとんど聞こえなくなりました。残っている雑音は、曲が始まる時や、曲調が変わるときの音源のレベルが低い時に、たまにジーという感じ(言葉でうまくいえないのですが)で聞こえる場合があり、これは解決方法がわかりません。現状、ほとんど満足ですけど。

それから、操作音の大きさでLBT-AR300のボリュームをスイッチを押して上げていくと、上限に達した時、ピーンという驚くくらい大きい効果音がでるようになっています。これについては、iPhone5のボリュームを上限に近い方にしておき、LBT-AR300の方のボリュームを小さい部分で操作するようにするとピーンという効果音には遭遇しなくなりました。同じ現象で困っている人は試してみるといいかもしれません。

この設定(iPhone側のボリュームを最大側にする)で、ノイズも小さくならないかと思ったのですが、iPhone側を小さいボリュームにしてLBT-AR300のボリュームを大きくしてもあまり変わらないようでした。オーディオ機器(特にアナログ接続)では効果があったりする場合もあるのですが。

2013年4月6日土曜日

Quicksilverのqsコマンドが使えなくなっていました

Quicksilverがちょっと前についに1.0.0になったのですが、qsコマンドを使おうとしたら動きませんでした。

$ qs
とすると、

Unable to connect to Quicksilver
となります。
Googleで検索すると検索結果ページに https://github.com/skurfer?tab=activity に、関係ありそうな内容が表示されるのですが、そのページに移動しても肝心の部分は流れて消えていました。キャッシュにも目的の部分がありません。

しかたがないので、qsコマンドのプラグインのCommand Line Tool Pluginを再インストールしたのですが、やはりUnable to connect to Quicksilverで動きません。
ここまできて、qsコマンドも再インストールしなければならないのでは、と気づきました。

そこで、一旦Quisksilverを終了し、/usr/binディレクトリにインストールされているqsコマンドを削除しました。その後、QuicksilverのPreferenceペインからCommand Line Toolを選択し、Installボタンを押して再インストールしました。

その後、やっと使えるようになりました。例えばこんな感じです。
$ date | qs

たまに使おうとすると、どうやってインストールしたか、忘れてしまいますね。インストーラが面倒を見てくれるといいのですが。

キーボード操作で別のアプリケーションの特定のウインドウに移動したいとき

だいぶ前の記事で、command + tabキーでアプリケーションの移動を行なっているという記事を書きました。結構便利なのですが、ひとつ不満な点がありました。
それは、移動したいアプリケーションで複数のウインドウを開いていた場合、どれに移動するかわからない点です。特に別々のデスクトップ上にウインドウを開いている場合、操作が増えて不便です。


そんな時に使えるキーボード操作方法がありました。Snow Leopardでもできたので以前からあったみたいで、私が知らなかっただけですが、最近試行錯誤していたら見つけました。以下の手順で操作します。

  1. command + tabで起動されているアプリケーションの一覧を出す。
  2. command + 左右の矢印キーで移動したいアプリケーションを選ぶ。
  3. command + 上下矢印キーを押すと、そのアプリケーションのすべてのウインドウが表示される。
  4. 矢印キーだけ(commandキーは離す)で移動したいウインドウを選びreturnキーを押す。

すると、そのウインドウに移動できます。command + tabキーをよく使う人には向いていると思います。
また、これはDockに格納されたウインドウも選べますので、人によってはこっちの方が便利かもしれません。
画面の動きもちょっと面白いです。最後のreturnキーを押すときに、shiftキーを押してからreturnキーを押すと初めだけですがゆっくり動作するので動きがわかります。

このキー操作は、別のアプリケーションでなく同じアプリケーションでも使えます。上の操作手順で、2.の時に今使っているアプリケーションを選べばいいです。
同じアプリケーションの場合は、control + F3キーでもいいですね。ちょっと押しにくいですが。また、(fnキー +) F10キーもあるのですが、こっちは覚えられなくてあまり使っていません。
本当は、「次のウインドウを操作対象にする」に割り当てたcommand + ` キーで別のデスクトップにも移動できるといいのですが、別のデスクトップには移動してくれないようです。

2013年4月5日金曜日

KeynoteがインストールされていないマシンでKeynoteのドキュメントを見る方法 (Snow Leopard, Windows)

会社のMac (Snow Leopard)でウェブ検索をしていたら、いつの間にかKeynoteのドキュメントファイルをダウンロードしていました。Zip形式のKeynoteファイルのようです。家のMac (Mountain Lion)には初期のKeynoteが入っているのですが、会社のMacには入っていません。しかし、Keynoteでドキュメントをアップロードしている人もいるんですね。

とりあえず中身を見るにはどうしたものかと思ったのですが、いくつか方法がありました。


方法1. QuickLookで見る

Snow Leopardなど、以前のMacで見る方法になります。
中身を表示して見たいだけなら多分これが一番簡単です。Keynoteが入っていなくてもフォルダのドキュメントをスペースで選択してあげるとQuickLookのプレビューウインドウが開きました。ウインドウを最大化すれば十分過ぎる位に読めるレベルです。

自宅に帰って試したところ、 Mountain Lionの場合は、QuickLookに加えて、プレビュー.app でも表示できるようです。また、自宅のKeynoteでは新しいバージョンのKeynoteで開くようにメッセージが出て、表示できませんでした。


方法2. ウェブ上で見る

これはWindowsマシンで見る方法でもあります。
SlideShare.netというサイトでは、Keynoteドキュメントをウェブブラウザーで表示できるようです。というか、このサイトからファイルをダウンロードしたことを思い出しました。

このサイトにユーザ登録してそのドキュメントをアップロードすれば、読めるようになります。
この方法の場合は、そのドキュメントが一般公開(シェア)されますので、著作権に十分注意が必要です。自分が著作権を持っているものか、Creative CommonsやGNU Free Documentationなどで公開されていて再頒布可能になっているものなどにするのが無難です。有料会員になれば、シェアを制限するオプションもあるようです。
SlideShare以外にも、ドキュメントファイルの変換サービスを行うサイトが見つかったのですが、Keynoteファイル(Zip)をサポートしているところを見つけられませんでした。


方法3. GoodReaderで見る (iPhoneかiPadも必要)

これは、iPhoneやiPad上にGoodReaderをインストールしている人に限られますが、GoodReaderは、Keynoteファイルをサポートしています。
私は、iPhoneにKeynoteは入れていませんが、GoodReaderをWebarchiveフォーマットを読むために入れていたので、試してみたところ大丈夫でした。
ドキュメントによると思いますが、横向きにすれば、画面いっぱいに表示できて十分読めました。

探せばいろいろありそうですね。

注記: 本文中では、Fuminori Moriさんがwww.slideshare.netで公開されている「HTML5での制作、いつから始める?」の表紙ページを引用しました。個人的には結構参考になりました。興味のある方はアクセスしてみてください。
私は、このブログでもわかるようにHTMLは詳しくありません。ほとんど、Bloggerのエディタのみで書いています。が、少し勉強しようかと思い始めています。

2013年4月1日月曜日

LBT-AR300にノイズカバー

再交換して雑音もだいぶ小さくなったLBT-AR300ですが、音源のレベルが低い時は、多少雑音が気になります。本体を手で握ったように覆い隠すと雑音が消えるので、カバーというか小物入れに入れて様子を見ることにしました。
材料は、小物入れケースとアルミテープです。

100円ショップで買ってきました。LBT-AR300がちょうど入るくらいの大きさです。色は黒が良かったのですがありませんでした。
はじめはこのケースの内側にアルミテープを貼り付けようと思いましたが、効果がなかったり剥がれてベタベタになると困るので、とりあえず筒状にして入れて見ることにしました。表面が汚くなったのは一旦ケースを裏返したときに、マジックテープに引っかかったためです。

手抜きでアルミテープの幅そのままで筒上にしましたが、ちょっと本体より短いようです。とりあえずこのまま試して、うまくいかなかったら長めにしたいと思います。
筒状のアルミテープを小物入れに入れたところです。

LBT-AR300を途中まで入れるとこんな感じになりました。

さっそく1日ほど使ってみましたが、雑音がかなりなくなりました。普段の使用では問題ないレベルです。
成功です。
そういえば、Bluetoothの雑音の原因はなんだろうと考えているのですが、周波数ホッピングが1秒間に1600回行われるので、その時の回路上の処理ノイズが出ているのではないかとふと思ったりしました。どうなんでしょうね。

2013年3月30日土曜日

LBT-AR300を再度交換したらノイズが減りました

クリップが折れて交換になったロジテックのBluetoothレシーバーLBT-AR300ですが、交換になった2台目は雑音が大きいものでした。前のエントリーの追記に書いています。

最初は再度交換しても雑音が大きいままかもしれないと思い、交換するか迷っていました。でも、結局ストレスに耐えられなくなり、3/28の会社帰りに交換してもらいました。

今度は、店員さんがロジテックに連絡を取ってくれ、在庫からの交換になりました。今度は待ちの期間がなく、使えない期間がゼロになり、対応の良さに感謝です。新横浜のビックカメラの店員さんありがとうございました。最初の時の店員さんが対応されたので、覚えてくれていたのかもしれません。

肝心のLBT-AR300ですが、iPhone5とペアリングし直して聴いてみると、明らかに今度の3台目の方が2台目より雑音が小さくなっています。1台目よりも雑音が小さいかもしれません。ゼロではないのですが、外で聴いている場合は外部の環境音で雑音はほとんど聞こえません。室内でボリュームを下げて聴くとさすがにわかりますが、室内では普段使わないので大丈夫ですね。

これで、一件落着です。もう、クリップが折れてもそのまま使い続けるつもりです。
ネットでも雑音が大きいというレビューや感想を見かけますが、個体差もあるようなので雑音がひどい人は交換してもらうのもいいかもしれません。ただ、まったくなくなることはなく、雑音が小さい個体でも気になる人は気になると思います。

それから、手でLBT-AR300の本体を包むように握ると雑音がほとんど聞こえなくなります。本体の半分程度を握るだけでもかなり雑音が小さくなります。また、音楽としての音質自体は悪くならないこと、iPhoneと近づけると雑音が大きくなるということも合わせて、何か対策できないか考えています。

個体差があることを考えると、遮蔽やフィルターの設定、部品品質、製造過程に問題があるのかもしれません。もっとも、根本の問題は、設計自体やオーディオ製品に対する考え方にあるとは思いますが、素人なのでこのくらいにしておきます。

2013年3月28日木曜日

Macの移行の際、Office Mac 2011の解除を忘れたと思ったのですが

この間、Mac miniを2012 Late モデルに変更した後初めてOffice Macを起動しました。ほとんど使っていないのですが、Wordのドキュメントを見る必要がありました。

すると、Office Mac 2008は問題なく立ち上がったのですが、Office Mac 2011の方は、プロダクトキーを登録するようウインドウが表示されました。

2008版と2011版でライセンスの扱いが違うんだと思ったのと、古いMacで登録解除を忘れていたと気づきました。iTunesのIDは解除していたのですが。
古いMacも手元にはあるのですが、電源やディスプレイを挿し直したりしないといけないので、もう起動していません。

そこで、Office Macのライセンス解除について調べたら、2008はヘルプからライセンスの入っているplistファイルを削除すればライセンス解除できることがわかりました。後は、本体を消せばよさそうです。また、Remove Officeツールを使えばよいとのことでした。

2011の方は、http://support.microsoft.com/kb/2449755/ja によると、単にFinderでアプリケーションフォルダから削除して、Dockからも手動でアイコンを削除すればいいようです。
どちらも削除すればいいので簡単だとわかって安心したのですが、古いMacを再起動できるようにする方が面倒です。
厳密にはいけないのかもしれませんが、起動していないので大丈夫ということにして、
今度、古いMacを起動した時に忘れないようにしたいと思います。

2013年3月23日土曜日

修理に出したLBT-AR300が戻って来ました、がノイズが。 [3/26追記]

クリップが折れて修理に出したロジテックのBluetoothレシーバLBT-AR300が新品になって戻って来ました。修理というか新品への交換です。

3/14にあずけて3/22に受け取ったので約1週間かかりました。まあまあだと思います。
値段は保証期間内なので無料でした。無料でなければ修理に出さなかったとは思いますが。
早速開けて本体を見て確認したら、クリップも元通りです。
でも、クリップのバネがかなり強いのは変わっていません。多分、またいつか壊れるんだと思います。壊れるというレポートは多いですね。
保証期間中は大事に使おうと思います。

iPhoneとペアリングしてソニーのMDR-EX600を接続したら、またあの最初の雑音が聞こえました。iPhoneに直につなぐと聞こえないのですが。iPhoneの後ろのリンゴマーク辺りにBluetoothレシーバを近づけると雑音が大きくなるみたいです。

ジーとかブーっという最初の雑音は時間がたつと小さくなってきます。それ以降は、音量が小さい時にサーという雑音の方が聞こえるようになりますが、外で使う分にはそれほど気になりません。(気にしないようにしているという方が近いかも)

音質は、やはり直つなぎがの方がいいですね。今はAAC接続ですが、aptXだとどのくらいよくなるのか気になります。
ただ、操作はBluetoothレシーバの方がやりやすいのでまたしばらく使おうと思います。

ついでですが、LBT-AR300の電子マニュアルを下記からダウンロードしてきました。いちいち箱から出すのは面倒ですよね。ちゃんと読んでいなかったのですが、LBT-AR300はBluetooth 3.0なんですね。
http://www.logitec.co.jp/down/soft/bluetooth/lbtar300.html

さらについでに、ソニーのMDR-EX600, EX1000のマニュアルもダウンロードしました。EX1000は持っていませんが。マニュアルが1つ多い。やはり値段の差でしょうか。
http://www.sony.jp/ServiceArea/impdf/sc-smc-mc-8654.html


2013年3月22日金曜日

Quicksilverに紅茶の蒸らし時間のお知らせをしてもらう

ティーバッグで紅茶をいれる時に時間を計りますか?
私はQuicksilverで簡単に計っています。わざわざタイマー用のアプリをインストールするほどでもないと思うので。

これには、Quicksilverの以下の機能を組み合わせて使います。

1. タイプした文字を画面に大きく表示する
2. 指定したコマンドを時間が来たら実行する
3. それらをキーコンビネーションで呼び出す

これらの機能自体は知っている人も多いと思います。どういう時に使うのかという参考になればと思います。
それでは順番に説明します。


1. タイプした文字を画面に大きく表示する

Quicksilverを呼び出して、1st Pane (左の領域)で、. (ピリオド)を入力します。


すると1st Paneに後で表示したい文字を入力できるので「お茶」などと入れます。何でもいいのですが。

その状態で、tabキーを押して、2nd Pane (右の領域)に移動します。
そして、"large type"と入力します。多分、lかaを入力したらLarge Typeが表示されると思います。Large Typeは画面に文字を大きく表示するコマンドです。

Large Typeが選ばれたら、control + return (controlキーを押してからreturnキー)を押します。すると画面が次のように変わります。

control + returnは、現在の1st Paneと2nd Paneの状態をひとつのコマンド(command object)としてまとめたものです。command objectはファイルに保存したり時間を指定して実行したりできます。


2. 指定したコマンドを時間が来たら実行する

command objectは、指定した時間が経過してから実行させることができます。1.の最後の状態で2nd PaneにRun After Delayを呼び出します。"r" "a" "d"と入力していけば出てくると思います。

次に3rd Paneで待つ時間を指定します。tabキーで3rd Paneに移動します。1分待ちたい時は1mと入力します。30秒なら30s、1時間なら1hです。

この状態でreturnを押すと1分経過後に以下のように画面に「お茶」と表示されます。


3. キーコンビネーションで呼び出す

「お茶」と表示させるコマンドをキーコンビネーションでで呼び出せるようにします。2.で「お茶」と表示された後、もう一度Quicksilverを呼び出します。
そしてウインドウの右上の三角ボタンをクリックして、Triggers...メニューを選びます。

すると、Quicksilver本体のウインドウがTriggerが選ばれた状態で表示されます。この画面で、Quicksilverのコマンドをキーコンビネーションで呼び出せるよう設定できます。

ウインドウ下の中央やや左に「+」ボタンがありますので、そこからHotKeyメニューを選びます。縦にPaneが3つ並んだウインドウが表示されます。

1番上のPaneには、「お茶」とLarge Typeするcommand objectを選びます。showと入力すると候補に出てきますのでそれを選択します。

2番目のPaneには、Run after Delay...を入れます。tabキーで1番目のPaneから移動出来ます。そこでradと入力すれば選択できます。


3番目のPaneは、何も入れません。3番目のPaneに移動し、escapeキーを入力するとType to searchとなって何も入力されていない状態になります。ここをブランクにしておくことで、後で時間を入力できます。もし、時間もあらかじめ決めておきたければ1mなどと入力します。
その状態でSaveボタンを押すと下のように、Execute Show "お茶" in Large Type after ... という項目ができます。


このコマンドを呼び出すためのキーコンビネーションを登録します。登録した項目の⌘マークのついた欄を押します。するとウインドウの右(または左側)に、ドロワーウインドウが出てきます。

ここで、Hot Key欄のEditボタンを押します。そこに、「お茶」と表示させるためのキーコンビネーションを入力します。私は、option + command + 1キーを入力しました。これが、後で呼び出すためのキーコンビネーションです。

これで設定は終わりです。Quicksilverのウインドウを閉じます。

この状態で、キーコンビネーションを入力します。この例では、option + commandキーを押してから1キーを押します。
すると以下のようなcommand objectとRun after Delayが設定されたQuicksilverのウインドウが開きます。

3rd Paneに適当な時間を入力してreturnキーを押します。

この例では、90秒後に大きく「お茶」と表示されます。

設定も実際にやってみればそれほど難しくないと思います。私の説明が長いのかもしれません。
なかなか便利なので、今では毎日使っています。

ちなみに私はダージリンが好きです。