ラベル Mac OS X 10.5 の投稿を表示しています。 すべての投稿を表示
ラベル Mac OS X 10.5 の投稿を表示しています。 すべての投稿を表示

2009年7月5日日曜日

iMacとiPhoneでBluetoothのヘッドセットを使ってみた

以前からずっと気になっていたBluetoothヘッドセットをこのたび購入したので、iPhone 3GやiMacとつないでみました。
使用感などをレポートしてみたいと思います。


■購入したヘッドセット
某所で紹介されていた、「Bluetoothステレオヘッドセット ELANVITAL EVSH-2882」という奴です。ネックバンド型でA2DPに対応していて通話ももちろん出来ちゃう、その上8000円未満となかなかお買い得。(ソニーとかモトローラのやつは1万6000円とかしますからね><)


■iMacで使う
まずは「環境設定」から「Bluetooth」を開いてヘッドセットとペアリングさせます。ペアリングさせると、「ヘッドセットを有効にする」と「ヘッドフォンを有効にする」の二つが選択できる様になります。

こんな感じ。

実はここに落とし穴があって、
  • ヘッドセットを有効にすると、HSPを用いてiMacとヘッドフォンが通信を行う。
    そのため音楽等を聞くとモノラルで電話並みのひどい音質になる。
  • 逆にヘッドフォンを有効にすると、A2DPを用いて通信が行われるため音質は最高になるが、
    ヘッドセットとして認識されない(要するにヘッドセット内蔵のマイクが使えない)
何この残念な状況orz

MacのBluetoothの扱いが悪いのか、このヘッドセット自体に問題があるのか、それともBluetooth2.1の規格がそもそもそんな使い方を想定していないのかは知りませんが、とにかく「Mac OS X 10.5.7上でELANVITAL EVSH-2882を使う場合、そのままではステレオ音質でヘッドセットとしてマイクを自由に使うことはできない」というのは間違いなさそうです。

それでもいろいろ試して見た結果、以下の手順を取ればステレオの音質でマイクが使えるようになりました。
  1. 「ヘッドフォンを有効」にする。
  2. 「環境設定」の「サウンド」を開き、出力と入力を以下のように設定する。

    出力は、「Bluetooth ヘッドフォン」を選択。


    入力は、「Bluetooth ヘッドセット」を選択。
この設定を行った状態でSkypeを開き、オーディオデバイスを適当に設定して友人とSkypeで通話してみましたが、無事ステレオ音質でマイクが使えました。しかしこの方法は何かしらの無理をしているようで、突然音質がモノラルになったり、突然マイクが使えなくなったりします。その上バックグラウンドで動かしていたiTunesの音が全く聞こえませんでした。ということで、おすすめできません。


■iPhoneで使う
設定方法とかはAppBankさんのこちらの記事が詳しいのでそちらをご参照をば。
http://www.appbank.net/2009/06/19/iphone-news/32183.php
http://www.appbank.net/2009/06/21/iphone-application/32492.php

使ってみた感想ですが、A2DPのおかげで音質はかなり良いです。私はオーディオマニアではないので参考にはならないかもしれませんが、有線のヘッドフォンと全く違いが分かりません。普段から1万円以上のイヤフォンやヘッドフォンを使われるような方でなければ問題ないと思います。

着信があったときの移行もスムーズです。また、着信を受けてからBluetoothヘッドセットの電源を入れて、オーディオデバイスをそちらにに切り替えても問題なく通話が出来ました(ただし友人曰く、ちょっと音が遠いとのことなので、ひょっとしたらiPhone本体のマイクで音を拾っていたのかも)

Macでは音声出力先・入力先ごとに音量を保持してくれていたのですが、iPhoneではどうやらそのような機能がないようです(すべての音量が共通)。そのため、Bluetoothヘッドセットで小さいと思った音がiPhone本体のスピーカーでは大音量と言うことがあります。ちょっと不便。

最大の問題が、「一時停止」「次の曲」「前の曲」ボタンがすべて利用できないことです。私は結構頻繁に曲を次に送ったり一時停止したりする使い方をするので、これらのボタンが使えないのが苦痛になっています。
ひょっとしたら使える機種もあるかもしれませんが、少なくとも今回私が購入したものではダメでした。気になる方はご自身で確認されることをお勧めします。

電池の消耗については、有線よりは確実に減ります。どれぐらいがっつり減るかは未確認ですが、1時間程度付けっぱなしにしていると10%ほど減っていました。(別の要因もあるので一概には決められませんが・・・)

なお、音声コントロールはBluetoothヘッドセットが使用できませんでした。ヘッドセットをペアリングさせて使える状態にしていても、本体のマイクとスピーカーが使用されてしまいました。

結論としては、聞くだけ・通話するだけ専門としてはほとんど申し分ありません。ケーブルが邪魔になるジムでの運動時などでは最大限に威力を発揮すると思います。逆に普段使いでは電池の消耗・iPodコントロール不可などのデメリットが目立つかと思います。


■iMacとiPhoneで併用
ペアリング自体は全く何の問題もありません。iPhoneとiMacの両方に同じヘッドセットをペアリングさせることが出来ました。
しかし当然ですが同時に使うことは出来ません。ヘッドセットの電源を入れた後、「先に認識を完了した」デバイスが独占的にヘッドセットを使います。認識が遅れた方はエラーになりヘッドセットを使うことが出来ません。
iPhoneとiMacの両方のBluetoothがオンになっていると、どちらが先に認識するか安定しないため、
  • iPhoneで使うときは、iMac側のBluetooth自体をオフにする
  • iMacで使うときは、逆にiPhone側のBluetoothをオフにする
という面倒な作業が必要になります。結局、私はiPhone専用としてヘッドセットを使うことにしました。

2009年6月26日金曜日

Keychain Accessから秘密鍵を書き出すときに、「エラーが発生しました。項目を読み込めません。」と表示されたときの対処法

iPhone開発にはAppleが発行する証明書が必要になるため、なにかとKeychain Accessのお世話になることが多いです。特に、複数台のMacで開発を行っている場合は、証明書を認証するための秘密鍵を複数台のMacにインストールする必要があります。
このとき、最初のMacから別のMacに秘密鍵を移すために、Keychain Accessから秘密鍵を書き出しする必要があるのですが、書き出した秘密鍵を取り込もうとすると「エラーが発生しました。項目を読み込めません。」とエラーが出て取り込みが出来ないケースがあります。


こんなダイアログです。

このダイアログが出てしまったときの対処法をまとめてみました。


■結論から言うと
このダイアログが出てしまったときは、秘密鍵の書き出し方を間違っています。


この「すべての項目」画面から鍵を書き出してしまうと、書き出しには成功しますが読み込むときに100%失敗してしまいます。


こちらの「証明書」画面から証明書の階層を開き、鍵を書き出すと、正常に読み込むことが出来ます。

2009年6月4日木曜日

Firefox 3.5を導入してみた


いろんなところで話題になっている(http://d.hatena.ne.jp/chroju/20090523/1243076800)Firefox激重問題ですが、我が家でもニコニコ動画を見ることができないぐらい重くなっていたので、思い切って3.5b4を導入してみました。ちなみに、Mac OS X 10.5.7で試しております。


■利用したバックアップ用アドオン一覧など
Mozilla Re-Mix: インストールしているFirefoxアドオンをWeb上に保存してリストアできるアドオン「BELOW」
http://mozilla-remix.seesaa.net/article/109386090.html
Mozilla Re-Mix: Greasemonkeyスクリプトの利用環境をもっと便利にするFirefoxアドオン「Wescript」
http://mozilla-remix.seesaa.net/article/119556026.html
Mozilla Re-Mix: 拡張機能の「個別設定」をインポート・エクスポートできるFirefoxアドオン「OPIE」
http://mozilla-remix.seesaa.net/article/90165156.html
Mozilla Re-Mix: Firefox3 Beta版に対応していないアドオンを強引にインストールする方法。
http://mozilla-remix.seesaa.net/article/84338863.html


■インストール手順
1.AppCleaner(http://www.freemacsoft.net/AppCleaner/)を使ってFirefoxを完全に削除
  Windowsより消すのがラクチンです。

2.公式サイトから最新のbeta版をダウンロードしてきてインストール
  コピーするだけ。これも非常にラクチンです。

3.アドオンの復旧、まずはXmarks (http://www.xmarks.com/) をインストール
  ブックマークを最初に復旧します。

4.about:configを書き換えて強制的に古いアドオンをインストールできるようにする

5.ブックマークから、上記のバックアップ用アドオンを探してきてインストール

6.BELOWを実行

7.OPIEを実行

8.FireGesturesの設定が正しく復旧されていないので、手で復旧

9.Tab Mix Plusの設定が正しく復旧されていないので、手で復旧

10.Tab Mix Plusがバグっていることが判明したので、開発版 (http://tmp.garyr.net/dev-builds/) をインストール
   具体的には最後に閉じたタブが開けませんでした。
   Tab Mix Plusは大体バージョンあげるたびに問題が出るので、このサイトを覚えておくと便利。

11.Firefox自体の設定を調整

12.Wescriptを実行

13.自作のGreasemonkeyスクリプトをインストール


以上です。作業時間は40分程度でした。BELOWとOPIEは極めて便利なので本当にお勧めです。


■で、何が変わったか
正直、見た目はFirefox 3.0と全く変わりがありません。見た目で変化がわかるのはロケーションバーぐらいでしょうか。



動作はというと、まず例のニコニコ動画がガクガクして全く見られない問題は解消しました。動画を見ているときのCPU使用率も、前は2コアとも40〜50%程度消費していたところ、16〜20%程度まで低減しています。どうやら中身はしっかり改良されているみたいです。

いちばん大きな変化はリリースノート(https://developer.mozilla.org/Ja/Firefox_3.5_for_developers)を見ても分かるとおり、HTML5サポートだと思います。videoタグやaudioタグを利用できるようになったそうです。

早速試してみました。
http://www.youtube.com/html5


・・・動かないじゃないか!!><
(ちなみにSafari 4 betaでは動きます)

おそらく使われているビデオの形式がmpeg4なのが原因だとは思いますが・・・
変な青い枠が出ているのも、おそらくGoogleの中の人がChrome (Webkit)でしかテストしていないからでしょうし。
しかし、うーん、まだまだ開発版って感じがします。


■気になるアドオンの動作状況
微妙にTab Mix PlusがBuggyです。閉じたタブの履歴を正しく保存してくれていない感じがします。その他AdblockやFirebugなど、メジャーどころはほとんどすべて入れていますが、まだ1日も使っていないので何とも言えません。

2009年5月27日水曜日

Mac版ATOK + HHK Professional2で日本語入力をするときの操作方法まとめ

1年ほど愛用していたCENTURY社のWhite Knight (http://www.century.co.jp/products/ck-112cmw-psu.html) の調子が悪くなってしまい、ついにはキーを認識しなくなってしまったため、現在家のiMacにはHHK Professional2 黒 (http://www.pfu.fujitsu.com/hhkeyboard/hhkbpro2/) をつなげています。

ASCII配列自体にはある程度慣れてきたのですが、問題が日本語入力です。家のiMacではATOK for Mac 2008をMS-IME風スタイルで利用していますが、ATOKだろうがMS-IMEだろうがことえりだろうが、一般的には皆さん変換時に文節を矢印キーで動かしたり伸縮させたりしていることと思います。ところが、HHK Professional2にはまともな矢印キーがありません(あるにはありますが、これは矢印キーとして見なしてはいけないと思います・・・)。これでは日本語入力が出来ない!ということで、HHKらしくControlキーとアルファベットの組み合わせて日本語入力を華麗にこなすための操作方法をまとめてみました。

2009/06/01追記:以下のショートカットキーはMS-IME設定のときのものです。WindowsのMS-IME上でも全く同様に使えました!


■次の文節へ・前の文節へ
左手で行います。
Control + Dで次の文節へ
Control + Sで前の文節へ
Control + Aで先頭の文節へ
Control + Fで末尾の文節へ


■文節区切りの伸縮
右手で行います。
Control + Kで文節を短くする
Control + Lで文節を長くする


■文字の削除
変換中にControl + Hで単語削除
変換中にControl + Gで一文字削除


■ひらがな・カタカナ・英字などに一発変換
主に右手で行います。
Control + Uでひらがな
Control + Iでカタカナ
Control + Oで半角カタカナ
Control + Pで全角英字
Control + Tで半角英字


■これだけ覚えておけば大丈夫!
でもどうしても気に入らない場合は、「カスタマイザ」というとっても便利な機能があるので、すべて自分の好きなように変えてしまいましょう。


■しかし驚いたのは
ほとんどこれらの機能を使うことなくATOKが一発変換してくれたこと。実際、このBlogを書いている最中にも、Controlキーには2回程度しか触れていません。ATOKはマジに神。

2009年5月7日木曜日

Windows起動時にhal.dllが見つかりませんと言われた場合の対処法

久しぶりにBootCampでWindows XPを起動しようとしたら、hal.dllが見つかりませんといった具合のエラーメッセージが表示されてうんともすんとも言わなくなってしまいました。dllが破損したのかと思い調べてみたところ、このエラーメッセージはC:¥boot.iniファイルの設定が破損された場合に表示されるメッセージだと言うことが分かりました(さすがマイクロソフト、エラーメッセージの意味不明さには定評があります)。なるほど、確かにboot.iniファイルが消えてました。

修復するにはWindows XPをCDから起動して、回復コンソールを立ち上げます。画面の表示に従えば大丈夫だと思います。
回復コンソールが起動したら、以下のコマンドを入力。
bootcfg /list

これで起動設定(boot.iniファイルの中身)の一覧が表示されます。私の場合は、boot.ini自体が存在しないので、設定がありませんと怒られてしまいました。
設定が破損しているのを確認したら、以下のコマンドで修復を行います。
bootcfg /rebuild

途中、3回ぐらい選択肢が表示されますが、以下のように回答します。
インストールをブート一覧に追加しますか?
YES

ブートIDを入力してください
適当でかまいません。MacでBootCampしている私の場合はWindowsと入力しました。普通のWindowsマシンの場合にはWindows XP Professionalとか入れておくとわかりやすいのではないでしょうか。

オプションを指定してください
/fastdetect

これで完了です。あっさり終了するのでちょっと拍子抜け。あとはコンピューターを再起動すれば問題なくWindows XPが起動すると思います。

2009年3月17日火曜日

GAEOでPythonのunittestモジュールを使って単体テストにチャレンジ

■まとめ
site-packagesにインポートするモジュールとかまとめておくのが使うのがいちばん楽


■何がしたいか
以下のようなGAEOプロジェクトがあります。



ここで、test.controller.forecastareaTest.pyにforecastareaモジュールのテストケースを記述するためには、applicationディレクトリにPYTHONPATHを通す必要があります。
それをいちばんスマートにやるにはどうすればよいかいろいろ悩んでました。


■どうしてそこで悩むの?
forecastareaTest.pyは単体で動作させなくてはいけないからです。
もしここで、jweeklyforecastディレクトリの直下にテストケースをおくことが出来るのであれば、
application_root = os.path.join(os.path.dirname(__file__), 'application')
test_root = os.path.join(os.path.dirname(__file__), 'test')
sys.path.append(application_root)
sys.path.append(test_root)

from application.controller import ForecastareaController
from test.controller import TestForecastarea

こんな風に自分のディレクトリからのパスをsys.pathに追加してからインポートすれば一発です。applicationもtestも自分の子供ディレクトリですから楽です。
しかしforecastareaTest.pyの位置から見ると・・・
application_root = os.path.join(os.path.dirname(__file__), '../../../application')
sys.path.append(application_root)

from application.controller import ForecastareaController

こんな風にインポートしなくちゃいけなくなります。相対指定とかする必要があって、ちょっとやな感じです。
PROJECT_HOME = '/User/akisute/DropBox/Projects/GoogleAppEngine/jweeklyforecast/'
application_root = os.path.join(PROJECT, 'application')
sys.path.append(application_root)

from application.controller import ForecastareaController

これでもいいのですが、これだとPROJECT_HOMEが各テストケースごとにべた書きになってしまいます。これまたディレクトリの移動に弱いです。
ディレクトリが動いたらテストケース100件の定数を全部書き直しとか嫌すぎです。


■最終的に出した結論がこれ
site-packagesディレクトリの中にjweeklyforecast_path.pyなる以下のようなモジュールを配置。
#!/usr/bin/env python
#encoding: utf-8
import os, sys

PROJECT_HOME = '/Users/akisute/Dropbox/Projects/GoogleAppEngine/jweeklyforecast'
sys.path.append(PROJECT_HOME)
sys.path.append(os.path.join(PROJECT_HOME, 'application'))

そしてこれを各テストケースからインポート。
するとapplicationディレクトリにパスが通るからインポートして使えるという仕組みです。
#!/usr/bin/env python
#coding: utf-8
import logging
try:
    import jweeklyforecast_path
except Exception, e:
    logging.warn("jweeklyforecast_path not found.")

import unittest
from controller.forecastarea import Forecastarea

class TestForecastarea(unittest.TestCase):
    """Forecastarea test case.
    """
    #以下テストケースがずらずらと続く・・・

ディレクトリが動いたり環境が変わったときには、このjweeklyforecast_pathをsite-packagesにコピーして、中身のPROJECT_HOMEを書き直すだけですみます。


■最後になりましたが
意味不明な記事になってしまってごめんなさい。自分の理解度不足ゆえグダグダになってしまいました><

2009年3月4日水曜日

MacとiPhone向けの高機能GTDツール、OmniFocusを使って、ThinkingRockと比べてみました


  • 非常にMac的なショートカットと、GTDツールというよりアウトラインプロセッサーのような操作感覚に慣れるまでが大変だが、慣れてしまえば大変高速にタスクを収集・処理できる優良ソフト=OmniFocus
  • 名前の通り、フォーカス能力が超強力。自分が今何をしているか、何をするべきかに一瞬でフォーカスできる
  • 「次に今すぐ行動可能なアクション」だけが目の前に表示される快感
  • Macのどこからでもショートカットキー一発でタスクを収集できる機能や、現在の検索条件および画面設定をパースペクティブとして保存できる機能など、地味に便利な機能がそろっている
  • 入力補完がかなり高レベルのできばえで気持ちよく使える。Remember the Milkと同等以上
  • 日本語版のOmniFocusは翻訳が狂っていたり日付指定フォーマットに一部問題があるので、英語版を推奨
  • 欠点は高すぎることと、Mac+iPhoneの環境が前提になっていること(それ以外の環境で利用できない)
  • 安くてどこでも使えるシステムを構築したい方にはThinkingRock + Remember the Milkをお勧め

つい先日にThinkingRockを使いはじめた旨の記事を書いたのですが
アレからしばらくして、やっぱり我慢ならなくなり、ついにMac&iPhone向けの高機能GTDツール、OmniFocusに手を出してしまいました。
ということでThinkingRockと比較してみたレポをアップしたいと思います。


■そもそもGTDとは何ぞや

グーグル先生にお尋ねになるか、または以下の本を読んでみていただけるとよいかと思います。
はじめてのGTD ストレスフリーの整理術


■これまで試したGTDツール変遷

フランクリンプランナー

Remember the Milk + フランクリンプランナー

Remember the Milk Pro + Appigo Todo + フランクリンプランナー

Remember the Milk Pro + Remember the Milk for iPhone + フランクリンプランナー

ThinkingRock + Remember the Milk for iPhone + フランクリンプランナー

OmniFocus + OmniFocus for iPhone + フランクリンプランナー


新しい物好きが災いして、いろいろと試してます。
一時期フランクリンプランナーを辞めようかと思った時期もあったのですが、紙の手帳はやはり絶対必須みたいです。
私はアナログな人間だからか知りませんが、ペンで書かないと頭に入ってこないですし、モニタを見るのも嫌だというぐらい疲れているときでも紙でしたら平気です。あと、会議中にiPhoneを取り出してメモを取るのがはばかられるという問題もあったりします。

その後長いことRemember the Milkを使っていたのですが、使い込んでいるうちにRemember the Milkは備忘録としては超一級でもGTDツールとしては3流という結論に至ってしまったため、別のツールを探す必要性が出てきました。
(コンテキストの概念がないのはまだ運用で何とかなったのですが、プロジェクトの階層化ができないのと、プロジェクトとアクションをシームレスに追加変更できないのが致命的でした)


えーマジ?階層化できないの?キモーイ!orz

そこで最初に目を付けたのが前回ご紹介したThinkingRockです。


■ThinkingRock + Remember the Milk
この組み合わせの長所と短所を簡単にご紹介すると以下のようになります。

○長所
  • ThinkingRockは厳密にGTDのプロセスを体現しているので、GTD初心者には最適。使っているだけでGTDの考え方を学べる
  • プラットフォームを全く選ばない。ThinkingRockはJavaさえあればどこでも動きますし、Remember the MilkはWebに接続できればどこからでも利用できます
  • プラットフォーム間の連携が容易。DropBoxを利用してThinkingRockのデータベースを共有することで、手持ちのマシン全てで簡単に同期を行うことが出来ます。WinとMacの間の連携もスムーズ
  • ほとんど無料。必要な出費は、せいぜいRemember the MilkをProにして(年間たったの25ドル)iPhoneからでも利用できるようにする程度
×短所
  • ThinkingRockとRemember the Milkの間の連携が全くない。Remember the Milkで収集したタスクをThinkingRockに移動したり、逆にThinkingRockから明日やりたいタスクを持ち出すためにRemember the Milkに書き出すなどといった無駄な作業を行う必要があります
  • ThinkingRockは厳密にGTDのプロセスを体現しているがゆえに厳密すぎ、逆にRemember the Milkは備忘録程度の機能しかなくプロジェクトを扱うには不向き
  • どちらのツールもフォーカス力不足。プロジェクトが30程度、アクションが100を超えてくるともはや制御不能


ThinkingRockとRemember the Milkで、無料&どこでも使えるGTDを!

お金がかからずに、どこでも使える組み合わせと言う意味で、これからGTDをやってみようとお考えの方には最適ではないかと思われる組み合わせです。ThinkingRockは本当にお勧め。
問題はプロジェクトとアクションの数が増えてきたときです。どちらのツールもフォーカスをするための機能が貧弱です。
ThinkingRockには検索とソート程度しかフォーカスをするための選択肢がなく、
RtMには強力な検索機能がありますが、ThinkingRockがメインのシステムになっているため生かしきれませんでした。あと、検索結果を残すためのSmart Listが10とか20とか大変な数になってしまい、今度はどのSmart Listを利用すればよいのかわけがわからなくなるという別の問題が生じる恐れが・・・


■それで結局、OmniFocusってどうなの?
対するOmniFocus。こちらも長所と短所をまとめてみました。

○長所
  • 「今すぐ出来る行動」と「今すぐは出来ない行動」を自動的に判断してくれるのが素晴らしい
  • Mac版、iPhone版ともに、タスクに対するフォーカス能力が超強力
  • MacとiPhoneが完全にシームレスに同期可能。iPhoneからいつでもメインのシステムに入っているアクション一覧を参照可能だし、iPhoneからいつでもInboxの整理をしたり出来る
  • ThinkingRockに比べ入力補完やショートカットキーが大変充実しておりサクサク使える
×短所
  • 高い。高すぎる。Mac版とiPhone版あわせて1万円、さらにMobile Me代が年間1万円
  • Mac+iPhone以外では利用できない。うかつに携帯を買い換えたりPCを買い換えたりしようものならタスクが参照できなくなる危険がある
  • 同期が重い。Mobile Meを利用しているのですが、同期ボタンを押したらたまに2分とか待たされるときがあります。RtMなら20秒程度で済むのに


OmniFocus for iPhone

OmniFocusの機能で特筆に価するのはなんといってもフォーカス力です。
Thingsのようなほかの有名GTDツールを使ったことがないので比較は出来ないのですが・・・

「期日が明日までで、かつ仕事先のオフィスの近くで出来るタスクだけを表示してほしい」
「今週どうしてもやっておきたかったとマークしたタスクだけを、今すぐ行動できるものだけ表示してほしい」
「そういえば最近Blog書いていなかったので、Blogネタの中で一番時間がかからないものを書きたいからアクションを表示してほしい」
「時間が空いたので開発をしたい。開発タスクの中で次に行動できるアクションを表示してほしい」

このようなニーズを(設定さえしておけば)ショートカットキー一発で満たしてくれるというのが神業的に素晴らしいです。
しかもMacの中だけではなく、iPhoneでもほぼ同じことが出来ます。
帰りの電車の中で、「家に帰ったら寝るまで1時間しかないけれども、何が出来るか」などと考えたりできるわけです。もう最高。


今日、帰ってから実行するアクションは・・・

「今すぐここで出来る行動」を管理できると言うのも素晴らしい点です。
たとえば3月3日現在の地点で、「今すぐやる」リストに3月8日開催の「例大祭の列に並ぶ」なんてアクションを出されてもイラッとするだけです。
このアクションは3月8日の朝に「今すぐやる」リストに表示されてほしいのです。そしてこれが実現できているGTDツールが意外なほど少ない。
RtMには「開始日時」の概念がないですし、ThinkingRockには「開始日時」の設定項目がありますが、それを使って今すぐ実行可能なタスクだけにフォーカスをすることが出来ないに等しかったので役に立ちませんでした。


これで安心!あとは例大祭のことは忘れてソースでも書きましょうか!


あとは完全に主観になってしまいますが、「使っていて楽しい」というのも非常に重要なポイントです。
はじめてのGTD ストレスフリーの整理術にも、「使っていて楽しいツールを利用するとタスクを管理するのが楽しくなる」といった旨の記述がありますし、使っていて楽しくて仕方がないと思うのであれば少々高くてもお金を出す価値はあると思います。


ただしOmniFocusは欠点も無茶苦茶多いです。まず第一にMac + iPhoneの組み合わせ以外では利用不可能。これだけで使う人を選んでしまいます。
残念ながら今後Windowsなど他のプラットフォームで利用可能になることも永遠にないと思います・・・(開発元のOmni社がMac製品しか作らないので)。
そしてべらぼうに高い値段。「無料でいくらでもネット上に落ちているタスク管理ツールに1万円+αも出せるかどうか」というところがポイントになりそうです。
この「Mac信者のMac信者によるMac信者のためのGTDツール」と言わんばかりのハードルの高さを乗り越えられるかどうかが肝だと思います。実際にはMac信者とか全く関係なしに非常に良いツールなのですが・・・


■まとめ
初めての人、複数台マシンを持っている方、Linuxユーザーの方、無料だけれどもしっかり使える優良ツールをお探しの方にはThinkingRock+αを、 手持ちのコンピュータが全てMacで携帯はもちろんiPhoneという方、人とは違うものを使ってみたい方、「次にいますぐ行動可能なアクション」だけが目の前に出てくる快感を味わってみたい方にはOmniFocusをお勧めします。


■おまけ:日本語版のOmniFocusはイマイチ
何がイマイチって、まず翻訳が何かおかしい。所々見ていてへんな単語が・・・フォマーットとか・・・
そして何より、日付の指定が日本語じゃないとできないのです。


英語版だとこう指定できます。「next sun@8」で来週の日曜日の8時にセットできます。
「tod」だけで今日の0時、「tom」で明日0時、「now」で今この瞬間にセット。
便利!


ところが日本語版だとこうなります。ちょっと!なんだよ「翌週日曜日」って!
「明日」とか「今日」とか「今」って入力面倒じゃないの!
こんなところまで余計なローカライズしなくていいよ!!

と言うことで私は英語版を強くお勧めいたします。
英語版のダウンロードは、http://www.omnigroup.com/applications/omnifocus/ の画面右端、



こちらをクリックすると英語版がダウンロードできますよ。

2009年2月22日日曜日

Mac OS X LeopardでPYTHONPATHとPYTHONSTARTUPを設定してみました

  • 環境変数PYTHONPATHとは、Pythonがimportするときにモジュールを探しに行くパスのこと。JavaでいうところのCLASSPATHにあたる
  • 環境変数PYTHONSTARTUPとは、Pythonを対話モード(プロンプトモード)で実行した時に自動的に実行されるPythonスクリプトのこと。起動時に毎回読み込みたい設定とかを書いておくことができる
  • autoimpとPYTHONSTARTUPを組み合わせるとimportの手間から解放されて非常に便利

Pythonのモジュール名・関数名がわからないときや、ちょっとだけスクリプトを実験してみたいときなどPythonをコマンドラインから呼び出すことがよくあると思います。
ところが未設定のままのPython対話モードだと以下のような問題が生じます。
  • 毎回毎回使うimport osとかimport sysとかをいちいち手で実行するのが面倒くさい。自動でやりたい
  • 後からインストールしたライブラリ、特にGoogle App Engineのモジュールが利用できない
そこでこれらの問題を解決するべくPythonの環境設定を行ってみることにしました。
以下、すべてMac OS X 10.5.6と付属のPython 2.5.1 (Apple Build)で設定を行っています。python.orgからダウンロードしてきたPython 2.6や3.0の場合はファイルのあるパスが違ったりなどするかもしれません。


■PythonPathを通そう
PythonPathとは要するにJavaのクラスパスです。このパスが通っているところからPythonはモジュールをインポートしようとします。
現在のPythonPathを確認するためには、以下のPythonスクリプトを実行します。
>>> import sys
>>> sys.path

似たようなのにos.pathがありますが、アレは全く別物みたいです。まどろっこしいです。

さて、PythonPathを上手に利用するためには2通りの方法があります。
一つは自分で環境変数PYTHONPATHを設定してPythonPathに好きなパスを追加する方法です。
export PYTHONPATH=${PYTHONPATH}:/usr/local/google_appengine:/usr/local/google_appengine/lib/antlr3:/usr/local/google_appengine/lib/django:/usr/local/google_appengine/lib/webob:/usr/local/google_appengine/lib/yaml/lib

もう一つは最初からPythonPathが通っていて、かつユーザーが自由に使ってもいい領域「site-package」を利用する方法です。
詳しい理屈はよくわかりませんが、Pythonには最初からsite-packageとかいう自由にライブラリを追加するための領域があるみたいです。
現在のsite-packageを調べるためには、id:a2cさん曰く
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

これだけでいいそうです。試しにPython 2.5.1 Apple Buildで実行してみたところ、
$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/Library/Python/2.5/site-packages

こうなりました。たぶんpython.orgのPythonや、macportでインストールしたPythonだとまた全然違った値になるのではないかと。
ということでこの/Library/Python/2.5/site-packages以下に、ダウンロードしてきた外部のライブラリなどを配置していけば自動的にパスが通っていい感じになりそうです。


■autoimpを使ってみよう
autoimpというライブラリを利用すると、いちいち最初にimport osとかimport mathとかしなくても直接os.path.join()とかmath.piとかが呼び出せるみたいです。
http://www.connellybarnes.com/code/autoimp/
使い方は簡単、まずはライブラリのソースを↑のページからダウンロードしてきて、
先ほどご説明したsite-packages以下に置くだけ。

あとは、
>>> from autoimp import *
>>> os.stat('.')
>>> sys.path
>>> math.pi
>>> google.appengine.ext.db.Model

一度from autoimp import *してしまえばimportなしで何でも自由に使えるという寸法らしいです。すごい。
でもこれでは結局最初にfrom autoimp import *と書く手間がかかってしまいますので、
Python起動時に自動的にfrom autoimp import *してくれるように設定してみましょう。


■PYTHONSTARTUPを設定しよう
環境変数PYTHONSTARTUPを利用すると、Pythonの起動時に毎回決められたスクリプトを実行することが出来るらしいです。
たとえば自分のホームディレクトリに、以下の.pythonstartup.pyというファイルを作ってみます。
#!/usr/bin/env python
#coding: utf-8
print 'hogehoge'

そして環境変数PYTHONSTARTUPを以下のように設定します。
export PYTHONSTARTUP=~/.pythonstartup.py

一端ターミナルを再起動してからpythonを実行してみると・・・
akisute ~$ python
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
hogehoge
>>>

ほら、print 'hogehoge'が実行されてますよね。
同様にして、以下のように.pythonstartup.pyを設定すれば・・・
from autoimp import *

Pythonを実行すると・・・
akisute ~$ python
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> os.path
<module 'posixpath' from '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py'>
>>> math.pi
3.1415926535897931
>>> google.appengine.ext.db.Model
<class 'google.appengine.ext.db.Model'>

ごらんの通り!importなしに自由にモジュールが利用できています!

2009年1月18日日曜日

iMac上でWindows XP Professional アップグレード版をBoot Campする

  • AppleはVistaまたはXPの通常版のみをサポートしている
  • が、実際にはアップグレード版もインストールできる
  • そのままではインストールできないので、外付けDVDドライブを買ってくる必要がある
  • ディスプレイドライバを更新する際に、ツールを利用してちょっとしたが必要になる
    http://www28.atwiki.jp/2chmac/pages/59.html を参照のこと
iMac (Early 2008モデル)にWindows XP Professional アップグレード版をBoot Campを用いてインストールしたときの手順メモを公開いたします。メモなのであんまり期待しないでください。



○Boot Campする前にまず覚えておきたい基本動作
・iMacのディスクは再起動時にマウスボタン(右でも左でも)を押しっぱなしにしていれば取り出せる
・再起動時にOptionキーを押しっぱなしにしていると、MacでブートするかWindowsでブートするか選択できる


○アップグレード版Windowsをインストールする方法
・外付けのDVDドライブを用意する。接続はFireWire推奨、でも最近のiMac(Leopard以降)ならばUSBでも起動ディスクとして認識してくれると思う。
・アップグレード対象の古いWindowsを用意する。自分の場合はWindows 2000のSP4適用済みディスクを利用した。
・本体にWindows XPを入れて、外付けにWindows 2000を入れた状態でBoot Campアシスタントからインストールを開始。
 途中で例によって昔のディスクを入れてくれと言われて一度止まるが、そのまま続行すると昔のWindowsを認識してくれてインストールできた
・インストール後のユーザー登録はネットで一発だった。
・パーティションサイズは32GB以下であればFAT32になってMacから読み書きできる。
 それ以上になるとNTFSになるので単純にMacからは見えない。
・インストールするパーティションを聞かれたら、Cドライブ(BOOTCAMP)を選択すること。また、再度FAT32でフォーマットをかけること。


○ディスプレイドライバ
・Leopard付属のドライバでほとんどは事足りるが、そのままではATI Catalyst Control Centerがインストールされないため、目つぶし液晶を暗くすることができない。
(もちろんBoot Campアシスタントを利用すればある程度は暗くできるが、それでもまだ明るすぎるので)
http://www28.atwiki.jp/2chmac/pages/59.html こちらのページに記載されている、「Q ドライバをインストールしてもグラフィックの細かな設定ができません」の項目を参考にして、最新のディスプレイドライバ with Catalyst Control CenterをATIからダウンロードしインストールすると、Control Centerから明度の調整ができるようになって一件落着