watermint.org

Takayuki Okazaki's blog

Share on Facebook
Share on GREE

edgestyle-2010-07

双葉社様の新創刊雑誌「EDGE STYLE」2010年7月号のアプリがApp Storeから無償でダウンロード開始いたしました。

EDGE STYLE 2010年7月創刊号

Share on Facebook
Share on GREE

timemachine

まだ実行中です。うちのTimeMachineバックアップがおわるのがはやいか、iPhone 4が出るのが早いか。まだまだかかりそうです。いったいいつ終わるんだろう。

Share on Facebook
Share on GREE

OmniGraffle iPad

アイデアを手早く表現するというときに、OmniGraffleやOmniOutlinerほどふさわしいソフトウエアはなかなか無いと思う。OmniGraffle iPadはそのiPad版。先週、バージョンアップ版がでて日本語も無事入力できるようになり、タップしたときの挙動がより自然になったりと改善が加えられています。iPadのアプリとしてはかなり高い5,800円ですが、普通のソフトウエアの価格を考えれば、かなりお買い得といっていいと思います。AppleのiWorkアプリ(Pages、Numbers、Keynote)がむしろ、安すぎるぐらい。iPhoneアプリはほとんどダンピング合戦みたいな状態になっていて、115円、230円、350円あたりが主流。消費者の立場としては安いことは歓迎ですが、安さ故に、より品質が高いソフトウエアが出にくくなるとすれば長期的には喜ばしいことではありません。

_DSC0116.jpg

iPhoneのアプリは暇つぶしのために次々と新しいアプリを入れていくことがユースケースとして主流ですが、iPadはもう少し腰を据えて使いたいアプリをじっくり長期間使うというように変化すると思います。このため、あと半年ぐらいして、多くの人々が使い慣れた時期からはiPhoneよりも品質面ではより厳しい目が向けられ始めるのではないでしょうか。

Share on Facebook
Share on GREE

先週はJava Hot Topicセミナーに行ってきました。今月からSun Microsystemsの法人が完全にオラクルと統合されたとのことで、Sun Microsystems K.K.として行われたおそらく最後のイベントです。Java Hot Topicセミナーは2006年11月に始まって、合計28回もやってたんですね。Sunにいた頃はほぼ毎月、喋るネタか、Javaパズラーの問題を考えるのが習慣になっていたように懐かしく思い出します。

_DSC0037.jpg

2006年11月当時、マスコットといえばDukeだけでした。いまやご存知NetBeansの「ねこび〜ん」にMySQLの「Sakila」が加わりにぎやかになりました。

_DSC0023.jpg

いままで運営していただいたエバンジェリストの皆さん。おつかれさまでした。

_DSC0039.jpg

ノベルティーの大放出もありましたよ。Java Hot Topicセミナー、最初に始めたときの名前はたしか「2時間で学ぶJavaホットトピックセミナー」という長い名前でした。他候補として3つぐらい考えた覚えがありますが、なんとなくしっくりきたのがこれだったと思います。今後、少なくとも形式はかわるでしょうけれど継続的にこのようなセミナーが開催されることを願ってやみません。

Share on Facebook
Share on GREE

先月のJJUG CCC 2010 Springでは、GlassFishで即習!Java EEパフォーマンスチューニングとトラブルシューティングというセッションでお話をさせていただきました。今回、資料を準備するにあたって、話の主軸をどこにおくか最後まで迷いましたが、本業で謀殺されていたためあるいみ消去法で決めざるを得ませんでした。話そうと思っていた主軸の一つはかなりテクニカルかつ、具体的な例を挙げてGlassFishでパフォーマンスチューニングやトラブルシューティングを行う方法の紹介です。残念ながら今回はこのネタでの発表は準備が間に合いませんでした。経験上、ある問題があったときにそれを解決に導く方法や、GlassFish特有の便利な機能を見つけることは出来ると思っていますが、発表に耐えるほどわかりやすく、GlassFishの特色を出したサンプルアプリケーションの作成が間に合いませんでした。こういった話を期待されていた方には大変申し訳ないです。

R0030389.jpg

もう一方の、今回お話をした話はもう少し大局的で、概念的なお話です。実際のところ、ここ数年でこういった話を聞く機会は少しずつ増えたものの、現場を見て回ればあまりそれらの知識が生かしきれていないようにも感じていました。今回の発表の趣旨はおおざっぱに言えば「便利なものをもっと使おう、そのために使える環境を準備しよう。あるいは使えるように交渉しよう」という内容でした。

_DSC9998.jpg

前提として、よくあるトラブルシューティング/パフォーマンスチューニングの現場を説明しておきましょう。プロジェクトメンバーは多くの場合すでに多方面から時間的/政治的プレッシャーを与えられており時間的/精神的な余裕はあまりありません。新たなツールを導入するような時間もコストも許されず、対処方法は似たような事例をGoogleで検索する程度です。Googleで検索した情報がぴったりその状況を引き起こしている原因に当てはまれば良いのですが、それは一攫千金を夢見て宝くじを買いに走るのと同様、確率に身を委ねているにすぎません。Googleで検索した情報は既に現在のバージョンのプラットホームには意味の無い情報だったり、現在扱おうとしているトランザクションの性質と、検索で見つかったブログエントリーが問題としているトランザクションの性質が多くの場合違うからです。

_DSC8716.jpg

では本質的に、問題を解決するためにはどうしたらいいでしょうか。問題を解決したり、あるいは本当に解決されたことを確認するためには問題の原因を探る必要があります。原因が分からなければ再現手順もわからず、解決したことを示してみせるにも説得力がありません。経験上、トラブルシューティングを行うときのほとんどの時間は問題の原因を探すこと、とくに問題を再現することに充てられていると言っても過言ではありません。問題の再現は、比較的簡単な場合もありますが、プロジェクトメンバーが時間的/精神的に追いつめられるほど深刻な問題の場合、問題の再現すら難しいというケースがほとんどです。

_DSC3954.jpg

本番環境で発生している問題は、なかなかテスト環境では再現しません。データに起因する問題、ハードウエアやプラットホームの違いによる再現性の違いによって、問題の再現は困難を極めます。また、仮に似たような問題を再現できたとしても、それが本当に本番環境でおこっているトラブルやパフォーマンス劣化と同一なのか、確認することはきわめて難しいことです。こうした問題は、本番環境と切り離された環境、少ない情報で作業せざるを得ない環境特有の問題です。本番環境で直接プロファイリングをしたり、ログやダンプの設定を動的に変更したり、プローブを加えて仮説を検証することができれば問題の原因特定は飛躍的に効率的になります。

_DSC3951.jpg

ツールを使うことを勧めると「はい、それはわかっています。しかし、xxxx」というような返答は常にあります。SOX、J-SOXなどをきっかけとした職務分掌/権限分掌の確立もより問題を複雑にします。?本番環境にデバッガやプロファイラが接続できればどんなにいいことでしょうか。そのシステムの設計や開発に携わったエンジニアであれば、いくつかの仮説を持って問題に取り組むことが出来ます。しかしながら、仮説を検証するためには情報を試行錯誤しながら集めなければならず、1ヶ月に1度しか変更の加えられないシステムに対しては仮説の検証も困難を極めます。

_DSC8496.jpg

さて、だからといってこのまま闇雲に問題解決に取り組んだり、じれったい思いをしながら雲をつかむような思いでログをなめ回すことを続けるべきでしょうか?日本のエンジニアは勤勉で、優秀です。しかしながら、ツールが自由に使えないがために諸外国の経験の浅いエンジニアと同等の生産性しかだせないとしたらどうでしょうか。ツールが自由に使えるならば3日で問題が解決するにもかかわらず、ツールが自由に使えないがために最低2週間は問題の解決に時間を要するとしたらどうでしょうか。より安く、より速く問題を解決してくれる海外に頼りたくなるのが自然な思考です。多くの場合、スポンサーが有用性を理解していないがために非科学的に禁止されたツールの利用禁止は、そろそろ日本のエンジニアが主体となって、利用を認めるよう主張を始めるべきだと思っています。とてもおとなしい、主張しないエンジニアの言い分はいままでも、これからも認められていかないでしょう。経営や運営の立場をもつ人々の視点からみれば、そもそもなぜ問題の解決に時間がかかるのか理由もわからないまま、(多くの場合精神的なセキュリティーを根拠として)ツールなんて無くてもよいと思われているにすぎず、エンジニア側の主張がそもそも足りないのだと思っています。

_DSC8462.jpg

もの言うエンジニアを増やそうという、主張ではありませんが、科学的に有益なものはもっと主張して、自由に使えるような環境を獲得する。これが、この先10年〜20年先に日本のエンジニアが職を失わず、また国際競争力をもちつづけられるための必須条件ではないかと考えています。以上が、発表でのおおまかな主張でした。小手先のテクニックと比べれば、こうしたもっと土台となる問題が、少なくとも前職Sunにおいて見えてきた、エンジニアにとって一番の問題解決の障壁になっていることだと思っています。

Share on Facebook
Share on GREE

中国語のレッスンを毎週うけていますが、その際復習用にボイスレコーダのOlympus DS-40で録音をしています。DS-40はステレオで録音が出来るため、話者の位置関係があとからもわかりやすい点が優れていますが、録音がWindows Media Audio形式のためMacでの編集(ノイズ取り等)には不向きです。Windows Media AudioからMacで変換しやすい形式(AIFFやMP3、AAC等)へはFinal Cut StudioについているCompressorを使いました。バッチで処理が出来ることと、Qmasterを使えば複数台で分散処理も可能です。?さて、今回はWMAからAACに変換し、そこから編集することにしました。Adobe Creative Suite Production PremiumのサウンドオーサリングツールであるSoundBooth CS4、Apple Final Cut StudioのサウンドオーサリングツールSoundtrack Proの両方を試してみました。

Soundtrack Pro

結論から言うと、2時間程度の長時間音声に対する編集はApple Soundtrack Proの方がよりやりやすいと感じました。Adobe SoundBooth CS4は周波数スペクトルに対する編集のように、細やかな修正ができますが、ひとまずオートである程度ノイズを取るという用途には向かなそうです。そこで今回はApple Soundtrack Proでノイズ取りをしてiPhoneに入れることにします。Soundtrack Proはクリック音やホップ、無音区間などを解析して自動補正する機能がありこれを活用します。この効果は絶大で、気になるクリック音はかなりの割合で自動的に消去してくれます。

activity

しかしながらしばらく試してみたところ、Soundtrack Proがメモリリークを起こしているらしく、大量の処理をさばききれずクラッシュしてしまいました。

Soundtrack Pro and Activity

Soundtrack Proは32bitアプリケーションのため、4GBの壁を越えることが出来ず2.4GB程度のメモリを確保したあたりでクラッシュしてしまいました。

Share on Facebook
Share on GREE

_DSC8507.jpg

最近、ほったらかしだったFacebookアカウントも徐々に使うようになってきました。Facebookといえば、最近出来たLike!の機能もまたたくまに広がって、ブログだけでなく様々なWebメディアにもLikeボタンは貼付けられるようになってきています。はやりに便乗して、このブログにもWordPress用のLike!ボタン追加プラグインを導入して追加してみました。

Share on Facebook
Share on GREE

ブログエディタのMarsEditが3.0になっていたので早速アップグレードしてみました。エディタがHTMLタグを直接入力するタイプからリッチエディットになったところ、メディアサポートとしてApertureやiPhotoのライブラリを直接参照できるようになったところが新しいようです。

_DSC9504.jpg

Richテキストエディットは結構便利な気がしましたが、写真を挿入するときにはflickrからHTMLコードをコピペして持ってくることもあるので、なんだかんだ従来通りHTMLソースで書くことになりそうです。flickrとのインテグレーションは従来通り、My Last 10 Photos、My Last 100 Photos、All My Photosに加えMy Last 50 Photosが増えている程度で、SetやCollectionからフィルタする等の方法は提供されていません。5万枚も写真を持っている身からすると、Apertureインテグレーションよりもflickrインテグレーションの機能改善をもう少しがんばってほしいと思っています。ただ、最近はホスティングのディスク容量も安くなってきたので、このさいflickrからではなくApertureで編集したものをそのままブログにアップロードするようにしようかとも検討中です。

Share on Facebook
Share on GREE

iPad、ワクワクしてたのに日本での発売は5月末に延期だそうですね・・。残念。
_DSC7962
代わりにという訳にも行きませんが、iPhoneとiPad用のデザインステンシルを買いました。7mmのゼブラシャーペンがついてきます。
_DSC7963
iPad用のステンシル。100%のスケールとなっているようですが、長辺が微妙に足りません。iPadの長辺は1024pxですが、目測でどう見ても980pxぐらいしかありません。どういうことだろう。
_DSC7968
それはさておき、付属のシャーペンよりも色合いといい、形といいステッドラーの製図ペンがよく似合います。
_DSC7969
毎回外枠を書くのは面倒なので、テンプレートを印刷しました。テンプレートはこのUISTENCILSをつくっているwww.uistencils.comからダウンロードすることが出来ます。50枚分、無印良品のバインダー用紙に印刷して出来上がり。UISTENCILSのテンプレートは約5mmの方眼になっていますが、無印の罫線入り用紙に印刷するつもりだたったので罫線をIllustratorで削り、印刷しています。

Share on Facebook
Share on GREE

少し前にスライドショー書き出しがエラー-9459でうまく行かないと書きましたが、何度かのアップデートを経て、Aperture 3のスライドショー書き出しはうまく機能するようになりました。H.264で長時間Full HDで書き出しても、MPEG4で書き出してもエラーになることはなくなりました。
_DSC6991.jpg
おかげでスライドショーをDVDに起こすのもだいぶ簡単になりました。Final Cut StudioについているDVD Studio Proに書き出すために、Apertureの書き出し時にカスタムを選び、MPEG4、854×480の解像度で書き出します。H.264だと読み込めないし、Full HDからダウンコンバートするとかえって荒くなります。AdobeのEncore CS4はアップデートもしてくれなくて、クラッシュしまくりで相変わらず使い物にならないクオリティーなのでDVD Studio Proの安定感には満足です。DVDができあがったら2Lサイズの用紙にジャケットを印刷して、スリムケースにいれて出来上がり。