watermint.org

Takayuki Okazaki's blog

Share on Facebook
Share on GREE

知り合いのSさんから古い40GBのハードディスクが壊れて、なんとかデータが取り出せないかと電話がかかってきた。とりあえず現物を見に行くと、どうもヘッドの動きがおかしいような音がしていて、物理破損かなあ・・。なんて推測をしていました。話によると、データ復旧業者に見積もりしてもらったらしいのですが、なんでも最初は5万ぐらいの話だったのが、あれよあれよと30万とか40万とかのオーダーになったとのこと。復旧率9割でこれはちょっとひどいと思うなあ。この手の相場にそれほど詳しいわけではないけど、さすがにぼったくりだと思う。とりあえず、最悪データが取り出せなくてもかまわないという了承の元、ハードディスクを持ち帰って自宅のMacBook Proにつないでみることにしました。
_DSC0705
このハードディスクはぱっとみたところインタフェースは懐かしのSCSI-IIで、さすがにSCSIをMacBook Proにつなげるのは厳しいなあなんて思っていましたが、幸いにも元々Mac用外付けHDDとして売られていたものだったこともあって、このSCSIらしきI/FとFireWireを変換するアダプタが付いていました。おそるおそるMacにつなげてデバイス情報を見ると確かに認識していて、コントローラーは生きているようでした。動くうちにデータをとりあえず吸い上げようと次のようにdd(1)で適当に吸い出しをします。

$ sudo dd bs=512 if=/dev/rdisk3 of=/somewhere/rdisk.dmg conv=noerror,sync

「/dev/rdisk3」のようなデバイス名はシステム環境によって異なるので別途調べて指定します。conv=noerrorをつけないと、今回の場合先頭から7.5GBぐらいのところでエラーとなってしまったので、そういったところはとりあえず無視してNULでパディングさせます。
_DSC0680
吸い出されたデータの中身をみたところ、それらしいデータがいろいろあったので一応成功という感じでした。ただ、今回はパーティションテーブルが壊れていたようで、そのままでは全く認識が通りません。仕方なく、取り出したデータから各種データフォーマットのパターンを見つけてデータ抽出をしようかと思いましたが、さすがにそれを手動でやるのはしんどいので、ずっと前に買ってそのまま使っていなかったSubRosaSoftのFileSalvageというソフトを使うことにしました。ずっと前に買ったときに復旧したかったファイルは全然復旧できなかったんですが、今回は無事データが取り出せて、ざっと見た感じでは8〜9割のデータが取り出せました。残りは破損してNULになっていましたが、やむを得ないところでしょう。

Share on Facebook
Share on GREE

優秀な物理計算エンジンPhunでまた遊んでみました。今回は、ボールの落下シミュレーションをしてみました。箱の中いっぱいにボールを詰め込んで、出口の広さを変えながらすべてのボールが出終わるまでの時間を調べてみます。なお、今回も動画に音は入っていません。

最初は出口の広さがボール2つ分。ボールがつまってほとんど出てきません。
Particles, Arching
このボールの詰まり方は、アーチ構造になっています。アーチ構造は非常に強いので、上からたくさんのボールの重みがかかってもなかなか崩れません。ちなみに、専門用語ではこの現象のことを「アーチング」というそうです。

つぎは出口の広さがボール3つ分の場合。ひとつ分広くしてもやはりひっかかりが多くみられます。アーチができたり崩れたりを繰り返しながらボールが落下していきます。

次は出口の広さがボール4つ分の場合。完全に流れが止まってしまうことはほぼなくなりました。ただよく見るとまだアーチはできあがっているようです。
Particles, Arching
7〜8個のボールによってアーチが作られることがありますが、3〜5個のボールによって作られていたアーチと比べて構造的に弱く、できあがってもすぐに崩れてしまいます。ただ、それでもアーチができあがっていることによって全体的な流れのスピードが遅くなっています。

次は出口がボール5つ分の場合。ほとんどアーチングはみられなくなり、全体的にスムーズに流れるようになりました。

続いて出口がボール6個分の場合。アーチングはみられなくなりました。これは、「6倍の経験則」と言われていて、粒子の直径に対して出口の広さが6倍以上あればアーチングがほぼ起こらず流れがスムーズになることが知られています。JR山手線の6つドアの新型車両はこの経験則に基づいていて、ドアの広さの合計が人間の肩幅60cmに対しておおよそ6倍の360cm以上になっているそうです。

ついでに出口の広さがボール7個分の場合。6個分の場合と同様にスムーズに流れます。ボールが出終わるまでの時間を計ってみたところだいたい次のようになりました(動画取りとは別に行っているので、結果は動画のものと異なります)

  • 出口の広さボール2個分 : 8分26秒
  • 出口の広さボール3個分 : 44秒
  • 出口の広さボール4個分 : 23秒
  • 出口の広さボール5個分 : 12秒
  • 出口の広さボール6個分 : 10秒
  • 出口の広さボール7個分 : 7秒
  • 出口の広さボール8個分 : 7秒

Phunはまだまだいろいろと研究ができそうですね。また何かネタが思いついたらやってみようと思います。

Share on Facebook
Share on GREE

昨日のGlassFish Night Seminar発表資料ですが、ようやくPDF化して公開することができました。「GlassFishで、作ってみた。」今回はずいぶんとIllustrator CS3と、Adobe Distiller 8、それにひょっとしたらMac OS X Leopardに苦しめられました。その苦労話を・・。
Illustrator and Distiller
まず、昨日の段階で資料をPDFに変換しようとしたら、Adobe PDFプリンタがいっこうに動き始めません(というか、動き始めてすぐ止まる)。何回やっても一時停止になるし、テストページの印刷でも同じだし、Firefoxなど別のアプリケーションから印刷しても同じだったのでこれはIllustratorではなくて明らかにAdobe PDFプリンタ、つまりAdobe Distillerの問題でした。EPSONのプリンタへはふつうに印刷できましたのでOSのプリントスプール側の問題でもなさそうです。
Illustrator and Distiller
強引にスプール上のジョブを再開しようとすると上図のように、Operation Could not be completed.とエラーになり全く進みません。Mac OS Xシステム環境設定の「プリントとファックス」でAdobe PDFプリンタを削除してから登録し直してもだめ。システム環境設定で削除しておいて、Adobe Acrobat Professionalのメニューで「ヘルプ」→「Acrobat インストールの修復」でPDFプリンタを入れ直してもだめ。しょうがなく、Adobe Acrobat Professionalを再インストールしてみましたがそれでもだめ。
Illustrator and Distiller
途方に暮れている頃に思いついたのがコンソールのエラーログを見ること。そうすると思惑通り、というかやっぱりDistillerがコケていることがわかりました。DistillerのCrash Reportをみると原因はSIGBUSで、常にThread 2がこけていました。Thread 2はCrash Reportのスタックトレースによると

Thread 2 Crashed:
0   com.adobe.DistillerLib        	0x01147b80 DistillerFontFolders::GetFontCachePath(char**) + 32
1   com.adobe.DistillerLib        	0x01157695 DistillerPSRip::SetupPSParameters() + 767
2   com.adobe.DistillerLib        	0x01157aba DistillerPSRip::PSInit(void*) + 224
3   ...ple.CoreServices.CarbonCore	0x90662d41 CooperativeThread + 309
4   libSystem.B.dylib             	0x93a176f5 _pthread_start + 321
5   libSystem.B.dylib             	0x93a175b2 thread_start + 34

というようにGetFontCachePathという関数で毎回こけているようです。海外のフォーラムで同様の現象を報告している人の中で、$HOME/Library/Application Support/Adobe/ 以下にあるFontCacheディレクトリのパーミッションを変えたら直ったという人がいて、試してみましたがだめでした。もっといろいろ情報集めをしていたところAcrobatの8.1.2アップデートに更新しろと書いている人がいました。Creative Suiteを入れたときに2〜3回Adobe Updaterでアップデートしていたので当然Acrobatも更新されているものだろうと思っていましたが、バージョンを確認したら意外にも8.0.0・・・。
Illustrator and Distiller
Adobe Updater、どこみとってん!一言愚痴を言わせてもらうと、Adobe Updaterの品質の低さは異常です。品質というか、ユーザアンフレンドリーさは、たくさんあるアップデートセンター系システムの中でも最低だと思います。まあ、そんな愚痴を心の中でつぶやきながらアップデート。
Illustrator and Distiller
毎回Safariのプラグインを入れるかきかれますが、ブラウザ中にPDF表示するのって大嫌いなので必ずオフにしています。Acrobatを入れて最初にやることはブラウザ上に表示させないように設定することです。Mac OS XのPreviewもSafari内にいたがりますが、

$ defaults write com.apple.Safari WebKitOmitPDFSupport -bool true

というようにdefaultsコマンドで設定をオフにしています。さて、Acrobat 8.1.2にアップデートしたことでようやくDistillerが快調に動き始めました。テスト印刷もばっちりです。では、Illustratorで・・・。
Illustrator and Distiller
あれ?各ページが1/2のサイズになって、しかも前後のページが半分ずつ各ページに入っています。2ページ目には1ページ目と3ページ目の上下が、3ページ目には2ページ目と4ページ目の上下が・・・。なにこれ。
Illustrator and Distiller
Illustrator上では今回、ドキュメントサイズは幅297mm、高さ4200mm (A4横の用紙を縦方向に20枚並べた大きさ)に設定し、プリントの設定として用紙サイズA4横、セットアップでタイルに「用紙サイズで区分ける」、トンボと裁ち落としで裁ち落としを天地左右 0mmとしてページ分割されるように設定しました。あとはメニューの「表示」→「ページ分割を表示」とすれば印刷サイズにあった罫線が表示されそのようにデザインしやすくなります。ページ分割が表示されているとおり印刷結果が得られるだろうと考えていましたし、実際Tigerで使っていた頃はそう結果がえられたので何も疑問なくやっていましたが、いざおかしくなるとどうしていいかわかりません。
Illustrator and Distiller
結局悩みに悩んでうまく行った方法が、プリンタをAdobe PDF 8.0ではなく、Adobe PostScriptファイルとして、PostScriptでの結果をまず得て、その結果をAdobe DistillerでPDFに変換する方法です。Adobe PDF 8.0プリンタも中身はDistillerのはずなので、釈然としませんが、とりあえずうまくいったのでこれでよしとします。そもそも、複数ページ(しかも20ページとか・・)のデザインをIllustratorでやることはあまり想定されていないのでしょうがないところですね。ああ・・InDesignがほしい。そういえば、Creative Suite 4が発売になりましたが、InDesignやAfter Effects・Premiereを含むMaster Collectionへのアップグレードが今持っているCreative Suite CS3 Web Premiumからだと$1,199なんですよね・・・。日本での値段はまだわかりませんが、ちょっとほしくなってきました。

Share on Facebook
Share on GREE

昨日のJJUG GlassFish Night Seminarにお越しいただいた皆様ありがとうございました。いろいろと不手際で、プレゼンがイラストレーターのままだったり、デモが動かなかったり申し訳ありませんでした。いまプレゼン資料をpdf化すべくがんばっているんですが、Adobe Distillerが思うように動かず、まだ公開できそうにありません・・・。やっぱりOS入れ替えるんじゃなかった・・。待ち時間の間に、最近いつのまにかMac版が公開されていた物理計算ソフトのPhun (ふぁん)で遊んでみました。Phunは、計算をするというよりは、絵を描いて、それを物理法則的に動かすというイメージのソフトです。お絵かき的なのでマウスよりタブレットでやる方が楽しいです。


(Phun 4.22 Beta on Mac OS X, 動画に音は入っていません)
箱の中に大きさの違うたくさんのボールをいれて、箱ごとゆさゆさ揺らしてみました。しばらく時間が経つと、実際の物理現象と同様に、大きいボール(紫色の大きなボール)が浮き上がってくるのがわかります。なかなかすごいですねこのソフト。

Share on Facebook
Share on GREE

Mac OS XはWindowsに比べて安全な印象がありますが、Leopardにはデフォルトではファイアウオールがオフになっているという罠があります。しかも、これはTigerでファイアウオールがOnにしてあってアップグレードインストールした場合でもOffにされてしまいます。ファイアウォールもそうですが、セキュリティの設定は一通り見直したいところです。そんなときには、NSA(米国国家安全保障局)の公開しているSecurity Configuration Guides
が役に立ちます。ところで、Security Configuration GuidesのOperating Systemsに、Mac OS X 10.3 Panther、Mac OS X 10.4 TigerはありますがLeopardはありません。おそらくそのうち載ると思いますが、AppleのサイトでMac OS X 10.5 Leopard用が公開されていますのでそれを参照します。
R0028013
このSecurity Guideは240ページもあります。もっと手早く設定を確認したい場合はNSAによるそのダイジェスト版とも呼べるハードニング手順書(Hardening Tips for the Default Installation of MAC OS X 10.5 “Leopard”)が公開されています。こちらは2ページです。ちなみに、ハードニングとはシステムのセキュリティをがちがちにするために、必要な機能以外すべて停止、または遮断することです。
R0028014
Security GuideもHardening Tipsもざっと見た感じほぼ同じ内容で、当然Security Guideではそれぞれの設定に対して詳しく説明されています。これらのガイドでは、Macに搭載されている様々な機器、たとえばiSightとか、Bluetooth、AirMac(Wifi)などを無効化しています。仕事で使うパソコンの場合、そこまで割り切って使ってもいいんですが、さすがに家で個人用に使う分にはやり過ぎです。セキュリティの設定はバランスをみて設定しましょう。

Share on Facebook
Share on GREE

OpenOffice 3.xを使うのは1月ぶり。そういえばベータが出たときに書いたブログエントリ「Mac OS X版のOpenOffice.org 3.0ベータを試す [blogs.sun.com]」が3月のことです。今回はOpenOffice.org 3系のリリース候補版(RC1)が9月8日にリリースされたとのことなので、それを試します。以前はOpenOffice.org 3.0.0と表記されていましたが、今回のスプラッシュスクリーンではOpenOffice.org 3となっているので、小数点以下のバージョニングが減ってこれからはどんどんメジャーバージョンとしてあがっていくのかもしれません。
OpenOffice.org 3 m5
OpenOffice.org 3.0.0ベータ以来すべてのビルドではないですが、だいたい1月に一度ぐらいは新しいバージョンを使っています。3月頃からは実際にプレゼンテーションも結構OpenOffice.org 3で作っていて、NeoOfficeは補助的に使うようになっています。今回は、そろそろOpenOffice.org 3に本格的に乗り換えようと思うのでNeoOfficeなしの環境とすることにしました。NeoOfficeがあればSpotlightとか、QuickLookのようなMac OS X固有の機能をうまく生かした拡張も同時に導入されるのですが、両方入れると面倒なこと(ある拡張子はNeoOffice、別のある拡張子はOOo、というように別々に関連づけられてしまう・・)になってしまうので、今回はOpenOffice.org 3のみ。
OpenOffice.org 3 m5
インストールは相変わらず簡単です。ダウンロードしたファイルをマウントして、Applicationsフォルダにコピーするだけ。そういえば、Betaの頃から比べるとアイコンが変わっていますね。重厚な青になっています。もう一つ細かいポイントで変わっているのが、カーブの方向です。このカーブはSカーブといい、Sunが2005年頃から使っているコーポレートイメージ・デザイン。Share (共有)のSを意味し、Sを縦長に引き延ばした感じで使われます。
OpenOffice.org 3 RC1
このSカーブはSunのパンフレットや、Web、建物の看板、広告、ソフトウエアのアイコンやスプラッシュスクリーンで共通して使われています。で、実はずいぶん前からStarSuiteとOpenOffice.orgのアイコンは左右反転した逆Sカーブとなっていました。初期のSun Java Systemソフトウエアの管理画面でもいくつかこの現象がみられたのですが、ようやくこれで知る限り最後の逆Sカーブ製品がなくなったようです。
OpenOffice.org 3.0.0 beta on Mac OS X
ちなみにこちらが3月頃にリリースされたOpenOffice.org 3.0.0 Betaのスタートアップスクリーン。よく見るとアイコンのSカーブは逆Sカーブであることがわかります。Sunにもコーポレートアイデンティティのために、いくつもデザインに関するガイドラインがあるのですが、意外と守られておらず、この逆Sカーブが直りきるまでに3年以上かかったことになります。それ以外にもコーポレートカラーや、フォントも指定があるのですが、すこしずつずれてきています。
GlassFish Friends and Relatives
たとえばこれはglassfish.dev.java.netに張ってある関連プロジェクトの一覧です。MySQLやNetBeansのロゴはほどよく独自性があっていいんですが、Openで始まるプロジェクトは、似て非なるとても気持ち悪い状態です。Open ESBのみ間にスペースが入り、それ以外は入りません。色合いで多少コピペでの劣化があることを配慮したとしても、OpenDSとOpenPortalは青がSunのコーポレートカラーからほど遠い水色系の青になっています。OpenSSOに至っては一色で、フォントの太さもすべてDemiで、かつドロップシャドウがかかっています。フォントは、OpenDSとOpenPortal以外、SunSansというフォントを使っていますが、太さはまちまちです。もうちょっとデザインに気を配ったらWebサイトもすっきりするのに、といつも思うんですが、そういう声があまり重視されないのもSunらしいといえばSunらしいですね。さて、本題のOpenOffice.org 3 RC1に戻しましょう。
OpenOffice.org 3 m5
今回なんといってもうれしいのが、ショートカットキー「Cmd + スペース」で日本語の切り替えができるようになったことです。うちのMacはUSキーボード配列で、日本語入力のon/offは通常このCmd + スペースを使っています。たしか7月のビルドでもこのCmd + スペースが無視されてしまい、入力の切り替えには面倒くさいことに Shift + Ctrl + Jで日本語、Shift + Ctrl + ‘ で英語で切り替えていました。頻繁に使うショートカットなのでとてもうれしいです。
OpenOffice.org 3 m5
あとは、いつもの通りオートコレクトをオフにすれば快適なドキュメント作成環境になります。オートコレクトの設定はメニューの「Tools」→「Auto Correct」からダイアログのタブ「Options」で設定します。このスクリーンショットはデフォルトの状態ですが、次の2項目をいつもオフにしています。

  • Correct TWo INitial CApitals
  • Capitalize first letter of every sentence

製品名で、二つ以上の大文字で始まる言葉(JBoss、JRubyなど)とか、2文字目以降に大文字がくる言葉(iPhone、iPod、jMakiなど)がたくさんあるのでこの修正はほぼ必須です。

Share on Facebook
Share on GREE

先週、Mac OS X Tiger (10.4)からMac OS X Leopard (10.5)にアップグレードしましたが、そのときのメモを少し残しておきます。まずショックだったのが、Adobe Creative Suite 3 Web Premiumのインストーラによるエラーでした。
Adobe Creative Suite 3, Installer (Error)
2時間とちょっとかけてLeopardのクリーンインストール + Mac OS X 10.5.4(当時)へのアップグレードを完了してAdobe Creative Suiteを入れようとしたらこんなエラーが・・・。アドビのサポートページ「インストール時にシステム要件エラーが表示される(Macintosh 版 Creative Suite 3)」によれば、HFS+でファイル名の大文字・小文字を区別するファイルシステムにしていた場合、インストールできないとのこと・・・。やり直しっすか、再インストール。今回、なんとなく大文字・小文字区別のオプションを選択してしまったのが運の尽きでした。昔、何かのオープンソースソフトウエアをコンパイルしようとしたときに、HFSが大文字・小文字を区別しないことによってコンパイルが通らない、という経験がよぎったので、そのように選択したんですが・・・。まさかの逆効果。
R0027945

Share on Facebook
Share on GREE

Garmin Training Center - Koyodai
Garmin Training CenterではForerunner 305から取り出したデータをTCXという形式でエクスポートできます。Garmin Training Centerで表示できる簡易の地図ではなく、Google Mapsなどのような詳細な地図でレコードを確認したいと思うのが当然の成り行きです。最初、Garmin Training CenterのTCX形式(中身はXML)をGoogle Earth/Maps用のKMLに変換するスタイルシートでも書くかちょっと考えましたが、その前にもっと簡単なやり方がないか探してみることにしました。
R0027947
Garmin Training Centerのリリースノートを見てわかったんですが、Garmin Training CenterはGPX形式でのエクスポートができるのだそうです。
Training Center For Mac software version 2.1.5 より。

Changes made from version 2.0.3 to 2.1.2:

  • Added support for Edge 605/705
  • Added capability to change activity type for history
  • Added capability to add notes to any item in the application
  • Added update reminders for map products
  • Added a menu item that allows users to unlock maps online
  • Added crash reporting
  • Added GPX exporting. To produce GPX data, add .gpx extension when exporting
  • Viewing parameters are preserved across map products of the same region
  • Fixed an issue that caused the Traditional Chinese version to crash on startup
  • Fixed a data transfer issue that caused the application to crash
  • Fixed an issue that caused a crash if the unlock codes were entered in lower case
  • Fixed an issue that prevented converted maps from being detected
  • Fixed an issue that caused the application to crash when displaying newer map products on PPC.

なんと、エクスポート時のファイル名の拡張子として、gpxをつければGPX形式として出力されるとのことです。気づかんって!そんなの・・・。試しにエクスポートしてみたところ、無事GPX形式のファイルが得られました。GPX形式になればもうこっちのものです。あとはGPSBabel+を使ってKML(Google Earth/Maps用形式)に変換すればいいだけのはず。

$ gpsbabel -i gpx -f エクスポートしたファイル名.gpx -o kml -F 出力ファイル名.kml

という感じでコマンドをたたきます。さて、早速Google Mapで表示・・とおもいきや、出力されたファイルの中身をみても全然GPSのデータが載っていません・・・。おかしいなあ。

Share on Facebook
Share on GREE

iSightで蔵書管理するオープンソースソフト「Books for Mac OS X」 [マイコミジャーナル]で知ったBooks for Mac OS Xという蔵書管理ソフトを試してみました。
Books for Mac OS X
ISBNを入れればAmazonなど設定したデータソースから検索して、書籍のタイトル、著者、出版社、表紙の画像などを取得してくれます。やっぱり、おもしろいのはやはり目を引くiSight (WebCam)を使ったバーコード認識ですね。
Books for Mac OS X
新規登録の画面で、ISBN欄の右側にあるカメラアイコンをクリックすると、iSightによる認識モードとなり、緑色の認識領域にバーコードを近づけてやると自動的にISBNが入力されます。手元の本だと、和書ではほとんど問題なく認識されました。洋書ではおそらく解像度の問題でバーコードが小さいものでは認識されないものもありました。今回50冊程度登録してみて、だいたい3割ぐらいはうまく認識されませんでした。でも、手入力でやっていくのと比べると総じて楽ちんで、これはなかなか楽しくなってきます。これを機会に本棚の棚卸ししようかな。雑誌についてはISBNが付いてないこともあってこのソフトウエアで管理できないのですが、できればAmazonのID、ASINにも対応してくれるとちょっとうれしいかも。

Share on Facebook
Share on GREE

4ヶ月ほど前、あまりにも調子の悪かったOS X 10.5(Leopard)に業を煮やして、Mac OS X 10.5(Leopard)からOS X 10.4(Tiger)へ [blogs.sun.com]で書いたとおり、10.5から10.4へダウングレードしました。それからしばらく経って、安定していた10.4には満足していましたが、やはりそろそろ10.5でないと動作しないアプリも増えてきたり、Dictionary.appで三省堂の辞書とか、英辞郎が使いたくなってきたこともあってまた10.4→10.5のアップグレードを決意しました。
R0027862
当時最大のネックだった、Mac OS X 10.5でSony GPS-CS1Kが使えない件 [blogs.sun.com]は、Garmin Forerunner 305を買ったことによってCS1K自体が引退の危機に瀕しているのでさほど問題がなくなりました (^^ゞ
安定性の件では、以前使っていたLeopardはTigerからのアップグレードインストールだったので、いろいろと怪しい挙動は想定の範囲内。ということで、安定性はあきらめていましたが、今回は初期化後のクリーンインストールにして、さらにOS Xも10.5.4までバージョンアップし、バグもだいぶ取り除かれているだろうという期待を込めています。
R0027883
うちの環境は昔から、再インストールに備えてなるべくカスタマイズしない方針を貫いてきたのでバックアップは造作もないことでした。ユーザのホームディレクトリ以下をだいたい外付けの2TBのディスクにコピーするだけ。アプリケーションのプラグインはあまり入れないので、インストール後の設定は最小限ですみます(入れるとしたらFirefox用のFirebugぐらいかなあ)。