Monday, November 30, 2009

Thunderbird 3 RC 1


Thunderbird 3 の RC 1 が出ていたので
3 Beta からアップデートしてみたところ
常用しているカレンダーアドオンの Lightning
LightningとGoogleカレンダーの同期用アドオン
Provider for Google Calender
このバージョンには対応していないと出て
利用できなくなってしまった。
(ていうか、Lightningの説明には
Thunderbird 3に取り込まれる予定と書かれているのだが…
なかったことになっている?)



とはいえ、どちらも活動的なプロジェクトなようで
Lightningの開発者ブログProvider for Google Calenderのwikiに行って
Nightlyビルドのリンクから最新版をダウンロードしてインストールすることで
Thunderbird 3 RC 1 でも問題なく動くようになった。
(ついでにGoogleカレンダーのアラートがDismissできなかった不具合も直っている気がする)

実はどちらも、同じftpサイトのディレクトリ
ftp://ftp.mozilla.org/pub/calendar/lightning/nightly/ 内の latest-comm-1.9.1 ディレクトリに最新ビルドがありましたが

ディレクトリは今後のバージョンによって変わる可能性が高いのとNightlyビルドの利用にはリスクが伴いますので直リンクはしません。
どちらも、各アドオンのホームページから最新情報を確認してからインストールすることをお勧めします。

LightningのNightlyビルドの説明には
Please be aware, that the use of nightly developer builds has risks associated with it. Don't use them with production data, as dataloss and other scary things can occur. We're not kidding.
Nightly開発者ビルドはリスクがあります。冗談ではなく、データ損失等恐ろしい事態が起こり得ますので、お仕事等には使わないでください。
とありますのでご注意を。
#Nightlyビルドという性格上
#昨日のバージョンは動いたのに今日のバージョンは動かない
#ということも普通に起こり得ます

ちなみに、Lightningだけでも、CalDAVアクセスでGoogleカレンダーと同期できるんだけど
Google Appsの独自ドメインで運用しているアカウントのカレンダーとなぜか同期できないんだよね…
iCalアプリでは同期できてるし、webブラウザでアクセスはできるので
Lightning側の問題なんだと思うんだけどね。
あんまり余計なアドオンを入れたくなくて、普通のアカウントだけしか使っていないならCalDAVの方法を試してみるのも良いかもです。

ついでなので便利なパブリックカレンダー
(iCalアプリをはじめ、iCalをサポートしたLightningやiPhone等に登録しておくと便利です)

参考までに、現時点でインストールしているアドオンは
  • Lightning 1.0b1pre (カレンダーアドオン)
  • Provider for Google Calendar 0.6pre (カレンダーアドオンとGoogleカレンダーの同期)
  • Change quote and reply format 0.6.3.2 (返信等の書式に、From, To, Date等を追加)
  • Quote Colors 0.3 (返信等の引用の色づけ)

Tuesday, November 24, 2009

BootCampでWindows 7 Enterprise 64bit版を評価導入してみました

WindowsでリッチなレンダリングができるGPUを使いたかったんだけど
手持ちのノートPC、ThinkPad X200のIntel GMA X4500 HDではさすがに役不足なので…
もうひとつのPC、MacBook Pro 13にはGeForce 9400Mが載っているので、こっちを使えないかと考えた。

となると次に考えなきゃならないのはOSを何にするかなんだけど
VistaはOSの負荷が高めだし、XPは軽いとはいえ今さらXPもない
というか、Windows 7 Enterpriseの90日評価版が出回っているので
Windows 7の評価も兼ね、Windows 7を入れてみることにした。
さらに、MBP 13 (Mid 2009)は64bit版インストール可能なので、64bit版に決定。

BootCamp (version 3.0)は現時点ではWindows 7対応ではなく
Appleからは年内対応予定とアナウンスされているけど
ネットの情報を見る限りBootCamp 3.0でもWin7は問題なく動いているらしいし
どうせ評価用に試してみるだけなので駄目もとで早速入れてみることにした。

■インストール手順
  1. Windows 7 Enterprise 90日評価版のISOファイルをダウンロードする
  2. ディスクユーティリティの「ディスクを作成」 でダウンロードしたISOファイルでDVDを焼く
  3. Boot Camp アシスタントで、BootCamp用パーティションを設定して
    焼いたDVDを挿入してアシスタントの指示に従えばWindowsのインストールが始まる
  4. Windowsインストーラが起動するので、普通にインストール
    (セットアップの途中で時間が数時間ずれて表示されると思うが、設定し直すことはお勧めしない。
    Macでのシステムクロックの扱いとWinでの扱いが違うことが原因なのだけど
    Windowsでの扱いをMacに合わせる方法を後術します)
  5. 何度か再起動を経るとWindowsのインストールが完了する。
  6. Snow LeopardのインストールDVDを挿入する。
  7. DVD中のSetup.exeを実行するか聞かれるので、Setup.exeを実行する。
  8. Setup.exeが終われば、BootCampへのWindowsのインストールは一通り完了。
と、ここまで自分の環境では何の問題もなくWindows 7がインストールでき
デバイスマネージャ上で確認してみたけど、何の問題も表示されていない、スバラシイ!

いろいろ触ってみたけど動作上も問題ないようなので、もろもろ設定やインストールを続ける。

■まずは、セキュリティ関係。
普段は Avira AntiVir を入れてるんだけど、今回は Microsoft Security Essential をインストールしてみた。

■システムクロックの扱いに関する設定
MacではシステムクロックはUTCが設定されていて、OS側でローカル時刻に調整して利用いるんだけど
Windowsでは、システムクロックはローカル時刻が設定されていて、OS側でもそのまま利用している。
で、Windowsのレジストリを弄ることでWindowsでもシステムクロックをUTCにして利用できるようになる。
こちらの方が詳しく書かれているので、それを参考に設定。

■オーディオドライバ
どうやら、BootCamp用のオーディオドライバだとMacBook Pro 13インチ上では
音量がとても小さくなってしまうようなので、問題を解決したドライバをインストールする。
こちらのフォーラムに詳しく書かれているので、そこからドライバをダウンロードしてインストールした。
これでまともな音量で音が鳴るようになった。

■GPUのドライバ
Snow LeopardのBootCamp 3.0に入っているGPUのドライバは Version 185.75 と古いので
nVidiaのサイトから最新のドライバをダウンロードしてインストール。


Windowsエクスペリエンスインデックス上の「ゲーム用グラフィックス」値は
4.2から5.5へと大幅に向上した。

ということで、現状のBootCamp 3.0で問題ないけど
マルチタッチトラックパッドの対応が普通のマウスの代わりレベルにしかなっていないので
Windows 7対応はこの辺を、それなりの対応にしてくるということなのかな?

Monday, November 16, 2009

フリーのUMLツールをいくつか試してみた

StarUML
Platform: Windows native.
操作性とわかりやすさにおいては抜群に良い。
問題は最終ビルドが2005年で、開発が進んでいるのか分からないことと
どうやらDelphi 7で作られているらしく、開発環境と開発者が限られてしまうこと。
将来性を考慮した場合に多少不安が残る。

しかしながら、見栄えやとっつきやすさの点では一番良いと思えたので
Windows環境がメインなら自分はこれを使うと思う。

ArgoUML
Platform: Multi (java)
MacでSnow Leopardの人は起動時に要注意。
ArgoUML 0.28.1(Mac) を立ち上げようとすると
Rosettaをインストールする必要があるというダイアログが出る。

/Applications/ArgoUML.app/Contents/MacOS/ にある JavaApplicationStub が
PowerPC用の古い実行ファイルだからだ。
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/
にある JavaApplicationStub をコピーすればOK

cp /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub /Applications/ArgoUML.app/Contents/MacOS/

0.28.1 は UML 1.4 にしか対応していないが 0.29.1 からは UML 2 に対応とのこと。
現時点では0.29.1はまだ中途半端で不安定らしいので正式リリースはされていない。

C++からのリバースエンジニアリング対応はPre-Alpha状態で限定的で
C++コードジェネレータとの統合ができていないので、RTE (Round Trip Engineering) もできないとのこと。
簡単なC++のコードを入れてみたが、stdio.hが見つからない程度でエラーになって生成失敗…
C++との連携には現時点では使えない。

画像のエクスポートは .png, .gif, .ps, .eps, .svg へ出力することが可能。

UML図作成のインターフェース自体はよく出来ていて、設計時にのみなら使えるツールであると思う。
ソースコードとの連携に関しては将来に期待。
(商用UMLツールのPoseidonはこのArgoUMLが元になっているようだが、Javaに特化している模様)

BOUML
Platform: Multi (native code and Qt GUI)
GUIがQtベースでインターフェースはいけていない上に操作もわかりにくいが
C++のソースコードからのリバースエンジニアリングも問題なくできた。
ただし、クラスブラウザ上に各クラスが読み込まれるものの
ページ上には配置されないので、クラスブラウザから各クラスをドラッグ&ドロップする必要がある。
大規模なプロジェクトだと全て描かれても厳しいので懸命な選択だとは思われる。
関連のあるクラスが配置されれば自動的に関連図も繋がれて描画される。

操作の面ではわかりにくいものの、UML図やプロパティーの管理・ソースコードとの連携等
機能面ではとてもよく出来ていると思う。

画像エクスポートは .png と .svg へ出力することが可能。
HTMLへのエクスポートはかなり詳細に出力ことができる。
#doxygenをご存知なら、doxygenで解析html出力したようなものを想像していただけるとわかりやすいかと。

Acceleo
Platform: Multi (java) with Eclipse
UMLの作図機能を持っているわけではなく、EclipseのモデリングフレームワークEMFをベースに
ソースコードとの連携を行うツールらしい。
UMLのサポートに関してはEclipsのEMFをベースにした標準のUML2や
EMSをベースにしたグラフィカルなモデリングフレームワークGMFを利用するUML2 Toolsを利用することで可能になるという仕組み。
(UML2がUMLをベースにしたプロパティエディタ、UML2 ToolsがグラフィカルなUMLエディタ)

なかなか奥の深い連携っぷりで、これぞまさにEclipseみたいな感じだが
Eclipseでプロジェクトを作るなり既存のプロジェクトを使うなりして
その中でUMLモデリングを行いつつAcceleoを使うことになるので結構手間がかかと思われる。

なぜ「思われる」と書いたかというと、C++のソースコードからUML図を
描き起こすところまで辿り着けなかったから。

というわけで、C++のコードを手っ取り早くUMLでデザインのしたいという用途には向いていないかも。

いずれにせよ、まずEclipseありき。普段の開発環境がEclipsでJavaがメインな方には良いと思われる。
Eclipseの標準的なフレームワーク群の上に構築されているので安心感があるし
他のEclipse用プラグインとの連携も期待できるのではないだろうか。

ちなみに、C++との連携を考えないのであれば、UML2 Tools等は使いやすくできている。


結論(あくまでも個人的な結論)
WindowsならStarUML。
MacやLinux、もしくはマルチ環境ならBOUMLを使いつつ、ArgoUMLの動向を見守る。
(LinuxのKDE環境に限って言えばUmbrelloも評判が良い。今回は試してない。)
仮想環境も含めて良ければ、Windows上のStarUMLか、Linux上のUmbrelloが良いかも。


参考URL
Top 5+ Open Source UML Tools | Cost Effective Software Reviews
http://open-tube.com/top-5-open-source-uml-tools/
List of Unified Modeling Language tools - Wikipedia
http://en.wikipedia.org/wiki/List_of_UML_tools

Friday, November 13, 2009

仕様書

唐突ですが、やっぱり仕様書って大事ですね。
小さなアプリであったとしても。
ただ闇雲にコーディングしたんでは、だらだらととりとめもなく続けてしまうことになっちゃう。

UML等を駆使しつつきちんと書面化して…とまでは言わないけど
#と書きつつ調べている自分がいる…
#MacのXcodeは既存のソースやプロジェクトからクラス図を作成する機能があることはわかったが
#先にモデリングしてからコーディングに入るような用途には使えないみたい。
とりあえず状態遷移図とそれぞれの機能リストくらいは書き出しておいたほうが良いかと。
(iPhoneの場合はビューの遷移でアプリの構造をとらえると分かりやすいと思われる)
そこから必要なパッケージやクラスに纏めて作業タスク化し、各タスクの成果物・ゴールを明確にして進める。
こうすることで格段にスマートに進められると思う。


大きなプロジェクトでは勿論もっと細かく綿密に行ってきたことではあるんだけど
1人で小さなアプリを作る場合でも、やはり大事であると実感した次第。

自分を戒めるためにここに書き留めておくことにする。

Thursday, November 12, 2009

Adium 1.4 beta

Mac用のMicrosoft Messenger
  • グループ分け表示できなかい
  • メンバーアイコンが表示されない
等かなりいまいちだったので、評判の良いAdiumを入れてみた
MSNだけでなくAIMやICQ等主なIMに対応しているだけでなく
Adium 1.4 beta では twitter にまで対応しているとのこと。

インストールして起動してみた様子。



主な特徴は以下の通り
  • 複数IM対応
  • グループ化対応
  • メンバーアイコン表示
  • メッセージのタブ化(左の"Timeline"ウインドウの下部にタブが見て取れる)
  • twitterのタイムライン表示(左の"Timeline"ウインドウはtwitterのTimeline表示)
すばらしい!Windowsにも移植して欲しいぐらい。
(12/5追記:調べてみた所、Adiumと同じくオープンソースのGaimから派生したPidginというツールがWindowsやLinuxに対応していることが判明)
twitter部分に関しては専用ツールにはかなわないけど
いくつもこれ系のツールを立ち上げたくない人にはとても有用ですね。

アカウント管理でtwitterのオプションの "Global status:" の
"Update global status when sending a tweet" にチェックを入れておくと
メッセンジャーのステータスにもtweetが反映されて良い感じ。

しばらくこれで行こう。

Wednesday, November 11, 2009

MacBook Pro 13 の液晶パネルとカラープロファイル

Snow Leopardのアップデート10.6.2バージョンが出ていたので適用してみた。

なんでアップデートの適用くらいでこんなとこに書いているかというと
実は10.6.1だとMBPの13インチの一部のパネル(9CC2)の輝度設定がおかしくなっていたらしいので
心配になり自分のもの調べてみることにしたから。

では早速本題。
液晶パネルを調べる方法は2点
  1. 「システム環境設定」で、ディスプレイ>カラー>プロファイルを開く>Apple ディスプレイの製造および機種情報
  2. 「ターミナル」で、ioreg -lw0 | grep IODisplayEDID | sed "/[^<]*</s///" | xxd -p -r | strings -6
自分の液晶パネルは
  • 製造元:00000610
  • 機種:00009C9E
  • LTN133AT09
と表示され、件の問題の起っていたパネルではないことがわかり一安心。
とはいえ、9C9Eは問題等なかったのか気になってくる。(笑)

調べてみると、9C9Eはwebページのリンク等の青が紫っぽく見えたり
全体に白みがかって見えたりという不具合が報告されている…だめじゃん orz
さらにLTN133AT09は機種番号違いがあったり、いくつかのリビジョンが存在しているようで
自分のは問題があるんだかないんだかよくわからない状況に…う〜ん。

Snow Leopardで普通に使っている感じだと、青と紫はそれなりの色に見えて区別できるし
全体的に白っぽく見えたりもしてないんだよな〜と思いつつも気になりだすと止まらない(笑)

いろいろ調べてみたところMacRumorsのフォーラムに
9C9Eパネルでキャリブレートしたカラープロファイルをアップロードされてる方が何人かいたので
ダウンロードさせてもらって適用してみた。けど、同じ9C9Eで機械でキャリブレートしたものでも結構違う。
まあ、同じ9C9Eだろうとロット間で違っていても驚かないし、実際同じロットだったとしても個体差があるだろうし
ということで、違っているのは当たり前なんだけど…にしても同じ9C9E向けプロファイル間で結構な違いがある。
#いろいろ適用してみるとわかります(笑)
#なので、本来は自分のパネルできちんとキャリブレートするべきものなんだけどね

ということで、自分のパネルに適用してみて好みで選んでみた。

いろいろ試してみた結果、お気に入りは以下3ファイル
  1. 9C9E with Snow Leopard - MacRumors:Forums の TripleJJJさんの"9C9E Display Spyder3 Pro 2.2.icc.zip"
  2. Macbook Pro 13" color calibration profile - MacRumors:Forums の vince223さんの "Color LCD Low.icc.zip"
  3. Macbook Pro 13" color calibration profile - MacRumors:Forums の vince223さんの "Color LCD High.icc.zip"
Macbook Pro 13" color calibration profile - Macrumors:Forums の方には
他のパネル用のプロファイルもアップロードされているので他の型番の人にもお勧めです。


ちなみに現在の機種情報:
MacBook Pro 2260/13.3 MB990J/A (Mid2009)
Hardware Overview :  Model Name: MacBook Pro
  Model Identifier: MacBookPro5,5
  Intel Core 2 Duo P7550 2.26 GHz / L2 Cache: 3 MB / Bus Speed: 1.07 GHz
  Boot ROM Version: MBP55.00AC.B03 / SMC Version (system): 1.47f2
  Sudden Motion Sensor: Enabled
MEM : DDR3-1066MHz 1GB x 2 (製造元 0x80AD)  hynixらしい。
OS :  System Version: Mac OS X 10.6.2 (10C540) / Kernel Version: Darwin 10.2.0 / 64-bit Kernel and Extensions : Yesで運用中
LCD : LTN133AT09 (製造元 00000610 / 機種 00009C9E)  Samsungらしい。
DVD : HL-DT-ST DVDRW GS23N
HDD : FUJITSU MJA2160BH FFS G1