Macintosh Developer Online (MDOnline)


2001年7月27日発行号 - Mac OS XのTechnote



Tech Info Library-Jにたくさんの文書が公開されていますが、すでに英語版で記事を作成しているものばかりなので、特に記事は作成しません。だけど、この方針にするとは言いながら、たとえばMDOnlineのWebサイトで記事を参照して、英語版だけのリンクがあるのもどうかなとも思います。これは検討課題とさせてください。それから、MDOnlineのWebサイトで過去に発行したメールを見る機能では、レイアウトが崩れる場合があります。すみません。こうしたことまで想定していないで作っているところがあって、一貫性が崩れるのが見え見えですね。お許しください。前文のレコードを記録する時、改行をBRタグに変更していなかったのに気付きました。今のところ、データベースから取り出したデータをそのまま画面に表示しているので、改行があるところでも、HTMLでは改行しないようになってしまいます。いずれ、改行をBRタグに置き換えるなどのプログラムを組み込みます。
TechnoteでやっとMac OS Xのアップデート内容が公開されていますが、開発者の人はできればもっと細かく変更点が知りたいところではないでしょうか。私も時々プログラムを作りながら悩みますが、たとえば、10.0.4になってFSRef関連APIの挙動が変わったような気がします。もっとも、バグということなら、次のアップデートにならないと分からないのですが、何かヒントがあればと考えてしまいます。AppleScriptに至ってはアップデートごとに挙動が違うあたりは、OMEのメーリングリストでも話題になりましたし、細かく調べている方もいらっしゃいます。そのあたりの情報もTechnoteにはありませんしね。
それから、Mac OS X Server 10.0でCGIのPOSTで引数が伝達できない件は、私が開設しているMac OS Xのメーリングリストでうまく動かしているという方の書き込みがありました。いろいろ試行錯誤されたようです。メーリングリストは以下のアドレスです。

◇Welcome-Mac OS X & Mac OS X Server
 http://www.egroups.co.jp/group/welcome-macosx

というわけで、この土日月の発行は、間違いなく月曜になると思います。土曜日は地方都市(笑)で開催されるライブに出たりします。人前で演奏するのって久しぶりで、4年ぶりくらいなんです。
(新居雅行 msyk@mdonline.jp


Mac OS X 10.0.xの更新内容を詳しく掲載した文書が公開

Technical Notesに、Mac OS X 10.0.1から10.0.4までの変更点についての文書が掲載された。詳細な内容も含めて掲載されているので、システムの動作を追っている人はじっくりと読んでみる価値はあるだろう。全体を通じていろいろな部分が変更されているが、USBやkernel、Carbonといった部分での変更点については外部からは見えにくいところである。また、10.0.4では、PowerBookでのオーディオドライバの問題が系決されており、スリープ時にサウンドドライバがクローズされずに音が出てくるといった現象が知られていたが、その問題が解決している。また、CD-Rドライブの書き込みは10.0.2で可能になったが、そのさまざまなバグフィックスとして10.0.4での修正項目として挙げられている。Gestaltでシステムのバージョンを返すはずだが、正しいバージョンが返されなかったという修正点も見られる。NFSでのエキスポートで、HFSでは「.」や「..」といったエントリーの扱いを行わないための問題点があったが修正が施されている。ntpdのバッファオーバーフローに対するセキュリティの問題は、10.0.2で解消している。また、HFSの組み込みでのPBSetCatInfoで修正日が更新できない問題は10.0.4で解消されている。いずれにしても、こうした情報は、少なくともデベロッパーとしては早く知りたかった部分ではないだろうか。今後のアップデートでは変更点の早期公開を望みたい。

関連リンク:TN2025: Mac OS X: versions 10.0.1 through 10.0.4
カテゴリ:Technote, Mac OS X


倉橋浩一、じつはWebObjectsで飯食ってます》そういえば、昔はMacのプログラマっだった

MacWIREに「自在にヘアスタイルやカラーを変えられるシミュレーションソフト」の紹介記事が掲載されていた。

http://www.zdnet.co.jp/macwire/0107/26/n_change.html

つい昔のことを思い出してしまった。

私は今でこそWebObjects屋になっているが、実は元々はMacプログラマだったのだ。いろいろなアプリを書いていたが、その中に一本に、「増毛シュミレーションソフト」というのがあった。アートネイチャーからの依頼で開発したもので、その名の通り、増毛相談に来たお客さんに「あなたに500本増毛すると、ほらこんなにイメージが変わりますよ」というのを示すものだ。CCDカメラから取り込んだ画像を画面に表示し、そこに髪形テンプレートを元にして、一本一本髪の毛を描画していった。

最近は1万円ちょっとのゲームマシンでのリアルな髪の毛が表示されてしまうが、この当時はまだG3が登場する前で、しかも各店舗にマシンを設置する関係上、あまり高価=高速なマシンは使えなかった。確か、performa 6320だったと思う。603e/100MHz、今のiMacと比べると1/20ぐらい性能が低い。

最初の依頼では、計算値や経験に基づいたデータから、「このぐらいの本数ならば、このぐらい地肌が透けて見える」ということをお客さんに示すことができればいい、という話だったが....途中でリアルな髪形、リアルな毛髪を追及する方向に変わっていってしまって、かなり苦労した。

余談だが、私の仕事は、そういう展開になることが多い。最初の仕様よりもかなり膨れ上がってしまうのだ。打合せなどで、つい、「こんなこともできますよ」と言ってしまうのが主な原因だと思うのだが。だれか私を管理してください....できれば私の会社ごと買収していただけるとありがたい。

さて。

リアルな毛髪の表現は、当時たとえば三角柱ポリゴンを用いた手法(NTT横須賀リサーチセンター)などが開発されていたが、そんな処理をperformaでこなせるはずがない。第一、CCDからキャプチャするのは、お客さんの2D画像で、3Dデータではないから、そこに3Dのリアルな毛髪を描画することはできない。かえって不自然になってしまうのだ。リアルさの中でもアートネイチャーが一番にこだわったのが、「ふわっとした質感」だ。アートネイチャーの増毛技術は、本当にすごい。彼らはその技術に絶対の自信を持っている。それゆえ、一番嫌われたのは、「カツラみたいに、頭にペッタリ張り付いたように見える毛」だ。しかし、2Dで「ふわったしたボリューム感」を出すのはかなり難しい。色の濃い毛髪を先に描画して奥行き感を出したり、髪の毛の角度によって光が写り込んでいるかのような効果を出したり、白髪の比率を変えられるようにしたり、お客さんの画像から取り出した色データを元に髪の毛を描画したり、アンチエイリアスをかけて画面のドットよりも遥かに細い毛髪を表現したり....。わりと長かった髪をばっさり?カットして、カットした髪を家に持ち帰り、スキャナの上にばらまいたりして実画像と描画した画像との違いをドット単位で見比べたこともあった。癖のある髪の毛を表現するのに最適な乱数列を求めたり、乱数では駄目なのでカオス理論の端っこを一部頂戴してきたり....。ヒゲの伸びるスピードから投影面積を計算して、毛髪の投影面積と地肌透過率の関係を数値化したり....。いやはや。

また、リアルな髪形データを作るにはかなりの時間がかかる。ところが、アートネイチャーでは、店頭に来たお客さんの見ている前で作っていかなければならないのだ。

最終的には、こんな画像が作れるようになった。「鏡餅に毛が生える」である。

http://www.kt.rim.or.jp/~kurahasi/hairs.gif

残っているのはこの1枚しかない。小さなGIF画像なのでつぶれてしまっているのが残念だ。当時大ヒットした作品として、「ワンレングスの中曽根元総理」とか、今は亡き父の「サーファーカット画像」などがあったのだが。

さて。ここまでやって、私はギブアップした。もう、これ以上はできない、と....。そこまで何度バージョンアップを繰り返しただろう。リビジョン番号が3桁になったのは覚えているのだが。

かくして、このシステムは、全国のアートネイチャー営業所に納品された。数十台のperformaが私の自宅兼オフィスに届けられ、キヤノン販売の担当者たちと夜なべ作業でメモリ増設、インストール、動作確認を行ってから、発送したものだ。部屋が完全にperformaで埋まり、それをツマがぼう然と見上げている姿を今でも覚えている。当時は、Windows95が発売されたばかりで、「アップル/Macは無くなってしまうのではないか?」という世の中だった。アートネイチャーの担当者からもMacを使うことの不安を何度も問いただされた、なんてこともあったっけ。

さて、後日談。

しばらくたって、先方から「アメリカでもっと素晴らしいシミュレーションソフトを見つけてきた」という連絡が入った。そう、顧客は私の仕事に満足できなかったのだ。でも、その後、その「素晴らしい毛髪シミュレーションソフト」が導入されたという話を聞かないのだが、どうなったのだろう。限られた予算と非常に短い期間で仕上げたにしては、私の仕事もそう悪くなかったと思うんですが、ね。

このアプリを少し汎用化してシェアウエアとして配付していた。何年ぶりかためしてみたら、iMac/Mac OS 9でも一応起動したが、すべての機能が動くかどうかはわからないので、ここでは紹介しないし、問い合わせられてもお答えできない。

冒頭の「自在にヘアスタイルやカラーを変えられるシミュレーションソフト」は、楽しいソフトだと思う。楽しむのに十分な機能をもっているからだ。

でもね、おぢさんは言いたいのだ。私も昔作ったことがある....画像を重ねるだけなら簡単なんだよね、って。

....もちろん、「だけ」ですまないのは承知の上、ですからね。
[倉橋浩一/テクニカル・ピット]

関連リンク:WebObjectsのページ
カテゴリ:倉橋浩一、じつはWebObjectsで飯食っています


TIL》Mac OS XのSherlockでエラーが出るのはクリップボードにグラフィックスがあるから

Mac OS X 10.0.xでのSherlockを起動したり、あるいはSherlockをアクティブにしたとき、「予期しないエラーが起きました 問題が何度も起きる場合は、アプリケーションを終了してコンピュータを再起動してください。」というメッセージが出てきて、OKをクリックしてもこのメッセージが出続ける場合がある。これは、クリップボードにグラフィックスデータが入っている場合、つまりグラフィックスをコピーあるいはカットした状態でSherlockに切り替わると表示されてしまうのである。メッセージが出ないようにするには、たとえばFinderで項目を選択してコピーをするなどして、クリップボードの内容をテキストなどにしておくことで回避できる。

関連リンク:Mac OS X 10.0, Sherlock: "An unexpected error occurred" Message
カテゴリ:Knowledge Base(旧TIL), Mac OS X


JSP/Servletベースで稼動するデータベース連動Webサイトを効率的に構築するツール

JavaのテクノロジーをベースにしたWebサイトの構築ツール「SmartMode 1.0」が正式にリリースされた。Webサイトの構築コストや時間を50%以上短縮できるとしている。JSP 1.1あるいはJavaServlet 2.2をベースにデータベースとの連動を行う。稼動OSとしては、Mac OS X、Linux、Solaris 8、Windows NT/2000となっており、アプリケーションサーバとしてTomcatあるいはWebLogic、WebSphere、Borland AppServerなどを使うことになる。データベースとしては、Oracle、SQL Server、PostgreSQL、DB/2、HSQLDBに対応している。SmartMode SiteMapによってサイト全体の構成を定義し、SmartMode WizardによってJSPベースでのデータ入力ページの設計を行う。SmartMode ListMakerは、リスト形式のHTMLを生成する。そして、SmartMode Halogenによってオブジェクトとデータベースのマッピングなどを行う。XMLでの定義などを利用している。JSPあるいはServletsといったJavaのコンポーネントを必要に応じて生成し、サイトとして機能するようになる。いずれにしても、標準仕様のコンポーネントをベースにしているのが大きな特徴だ。価格はデベロッパー向けライセンスが$995となっており、ランタイムの料金は不要となっている。

関連リンク:SmartMode
カテゴリ:オーサリング系, ネットワーク管理, Java


ファイルメーカーProでメール送信を行うプラグインが日本語メールに対応

Comm-Unity Networking SystemsはファイルメーカーProでメール送信を行うプラグイン「SMTPit」をバージョンアップし、Ver.3.0のベータ版を公開した。Ver.4以降のファイルメーカーProに対応し、Mac OS Xでの利用も可能となっている。スクリプトの記述によって、ファイルメーカーのアプリケーションで、電子メールの送信が可能となり、ファイルの添付をメールに対して行うこともできる。Ver.3.0では、日本語やヨーロッパ言語への対応、ステータスウインドウによる動作状況の確認、認証付きのSMTPサーバを利用したメール送信などを実現している。シングルユーザラインセンスが$65、同一社内で適用可能なサイトライセンスが$250、ローヤリティなしに再配布が可能なデベロッパーライセンスが$780となっている。教育機関あるいは非営利団体向けの割り引きもある。従来のバージョンからのアップデートも受け付ける。

関連リンク:Comm-Unity Networking Systems
カテゴリ:データベース, 電子メール


WebObjects 4.5.1で利用できるSybaseのEOFアダプタが公開

Sybase用のEOFアダプタが公開された。Objective-Cベースで作られたものなので、WebObjects 4.5.1で利用できる。WebObjects 5には対応していない。Mac OS Xおよび、Mac OS X Server 1.2に対応するものが公開されている。Solaris版およびソースの公開が予定されているが、HP UX、Windows版については計画はない。AppleのSybaseのアダプタよりも高速であるとしている。

関連リンク:MulleSybaseEOAdaptor
カテゴリ:データベース, WebObjects