独り言日記 小説(2006/12/29) 最近、自分自身でも活字離れが激しいというのもあったので(流し読みして内容をあまり把握し てない、というクセがついたような気がする)、ものすごいひさびさに小説を買ってきました。内 田康夫さんの「貴賓室の怪人」です、探偵ものです。個人的にこの方の小説は好きだったり。 しかし、アドベンチャーゲームで探偵モノが最近めっきり減りましたねぇ。というよりもアドベ ンチャーゲーム自身をコンシューマで見ないかなぁ。PC ではノベルものは多いのですが・・・。 クロス探偵の続編と藤堂龍之介シリーズを心待ちにしてるのですが、、、出ないだろうなぁ。 今年、自分自身を採点すると仕事としては目標達成でまずまずの出来でした。ただ、プログラム ばっかりで作品作りは結局できず。これは来年に持ち越せるかどうか・・・。後、まだまだ知識 が足りないな、というのはいろいろな人にあって思いました。ただ追いかけても際限ないのでど こまでで線引きするか、割り切るか、ですねぇ。開発以外のことにも目を向けないと世界が広が らない、ってのも感じましたので、ぼちぼちやってければなぁと思ってます。 それでは、今年も残りわずかではありますがよいお年を。 MySQL の 4.1 系(2006/12/27) なにやらクラッシュバグがあるみたいでしたので、このサイトの MySQL もついでに入れ替えま した。 http://lists.mysql.com/mysql-ja/204 仕事場のもとりあえず入れ替え完了。 Windows にてマウスを含めてキャプチャ(2006/12/26) Windows 環境の画面キャプチャを取りたい場合に、マウスカーソルも含めたい、という場合があ ります(普通の print screen ではマウスはキャプチャされません)。マウスカーソル自身が重要な要 素となるマニュアルなどの場合は必須です。 「マウスもキャプチャー」 http://www.vector.co.jp/soft/win95/art/se319379.html にて、マウスカーソル含めてキャプチャできますね。これでいちいちマウスリソースとキャプ チャを合成なんてめんどくさいことはしなくて済みそうです(というか、早めに気づくべきでし た (^_^;;)。 Shade 9.0.1 のアップデータが公開されています。 1 http://shade.e-frontier.co.jp/download/901updater.html ちょこざいなバグなどいろいろ直ってそうです。ヘアーとパーティクルもマイナーバージョン アップしている、、、と思います。 後、以下にてプラグイン(SDK じゃないよ)のマニュアルアップデータが公開されています。 http://shade.e-frontier.co.jp/download/9pdfman_plugin.html こそくな手ですが、Shade 9 の新機能(ヘアーサロン、パーティクルフィジックス)が気になるけ ど様子見している、体験版待ち、という方はこれを見ることでだいたいの機能は把握できます (^_^;;。 私のほうでもテクニック的なドキュメントを今書いていたりするのですが(仕事でもなんでもな く)たぶん今年中に公開予定にしています。 表現するということ(2006/12/24) 私の場合は、プログラムで「ツール」などを開発することが表現手段になっていたりするのです が、ツールはあくまで道具、それをわかってもらうにはツールを使って作り出した表現物(3DCG なら作品、楽器なら曲とか)が必要になります。私だったらこう表現したい、してほしい、とい う妄想があったりするのですが、自分でやりたいのなら自分が表現者にならないといけないのか なぁ、と最近思ったりします。他の方に頼むのもあるのですが(会社でもその分担をしているの ですが)、暇にしてる人なんていないわけですので難しいところです。 そもそもツールというものがクリエイタのための道具ですので「クリエイタ←→開発者」は相互 理解の上でモノ造りすべきではあります。もちろんうまく行くこと自体も難しいのですが、開発 者が作り手の気持ちを理解せずに仕様を考えるために「おもしろくないもの、使い勝手の悪いも の」のループから抜け出ることができないことも多いんじゃないかなぁ。これは私自身への戒め も含むわけですが (^_^;;。この部分は、会社で最近マジトークしていた部分だったりします(とい うか、いつも根底にはこの話題が見え隠れしていたり)。うまくセパレートに役割分担できれば いいんですけどね。 来年の目標をそろそろ決めるということで、この部分は指針にしていきたいです。私自身もクリ エイティブに近づくように。 私が唯一使い手側に回れるものは、プログラムを作るときに使うライブラリ・SDK・ドキュメン トなどがありますね。ええ、いろいろ「こうしてもらいたい」があります(苦笑)。 後、知識としても読み物としても面白い古川享さんのブログ http://furukawablog.spaces.live.com/ の、12/17 にて Vista のオフィシャルの文章の稚拙さで突っ込みを入れられているのが面白かった です。文章に関してもユーザ視点で書いてもらわないと困っちゃいますよね。これも、作り手 2 (文章書き)は使い手側に立ってよ、といえる事柄かも(某社のサイトで昔、同じような突っ込み を入れたことがあります。やたら横文字をカタカナ化して使ってるんよね)。まぁ、気をつけな いと文章を書くこと自身も明日はわが身なんですが (^_^;;。日記などで修行しつつ、分かりやすい 文章は目指したいです。 作り手側に立つか趣味かはアレですが、Comic Studio を買ってきました。ひさびさにタブレット を引っ張り出して遊んでます。 IPA2006 年下期での日記サイト(2006/12/15) 遅くなりました。IPA でやっていることを公にする準備が整いましたので(了解が取れましたの で)、ちらっと解説します。 テーマは「インスピレーション誘発とリフレッシュ効果を提供するユーザー支援システムの開 発」で、高木さん(私の元いた会社の後輩です)と組んでやっております。 [ ここがトップページ ] http://hbbox.net/ [ 森海日誌 - 開発者ブログ ] http://hbbox.net/diary/ テーマだけではなんのことやら、ですが、メインとなるのはユーザインターフェースです。私が 担当するのは、技術方面(バックグラウンド部分)や Win API のサポートなどで、最近は検索エ ンジンのアルゴリズムやら大規模データの扱いを掘ってました。それらについては、hbbox.net の 日記で小出しにしてます。 ただ、やることは検索エンジンでもないですし、データマイニングでもなかったりします。どっ ちかというとサービス寄りの意識が強くて技術はあくまでパセリ、ではあるのですが、やはりカ リカリにしないといけないところもあって試行錯誤しながらそのへんを日記に書き溜めていく 予定です。使う言語は Java と C/C++。Web サービスを Axis で立ち上げて、SOAP(XML <==> XML) で情報をやりとりするのをベースにしています。 3DCG も大規模データを扱うのですが、検索エンジンとレンダラは技術的に接点があるかもしれ ません。MeCab での形態素解析で使っている「Double-Array Trie」は、もしかしたらレンダラをア クセラレートできるかも(これは IPA プロジェクトとは関係ないですが)。「探す」という作業を 要素数に関係なく引き出せるアルゴリズムですので。これも要研究ネタですね。でも、この Double-Array Trie はすごいですよ。 hbbox.net での日記は ft-lab.ne.jp の日記とはまた違った一面でやってきますので、よろしければお 読みくださいませ。調べている技術情報は垂れ流してます (^_^;;。 格納庫情報の整理(2006/12/14) 3 長年できていなかったのですが、いろいろ重なるタイミングがあって来年かけて仕事場の情報格 納庫(未公開)とこのサイトの情報をひとつにまとめてリニューアルしようと考えてます。と いっても、ビジネスチックになるのではなくてあくまでも今の延長線上での展開です。情報を分 散するのは面倒なので一箇所で公私共にしちゃおうということです。もちろん仕事の情報は出 さないのですが、社内での技術普及のネタ系(教育用)は出していければと思ってます。ドキュ メント管理用システムを実は社内で作っていただきまして(私が、ではなくて研修で作っても らったプロジェクトです)いろいろ注文した機能は搭載しています。特に、私みたいなプログラ ム&ドキュメントマニアに向いたシステムとなってます。これに私の知りうる知識(後、個人的 に書き溜めているネタ帳)を乗っけていきたいです。 ネタ(移行するものと更新するもの)としては ・システム構築 ・3DCG プログラミング(オフライン / リアルタイム) ・Java プログラミング ・PHP プログラミング ・システム構築 ・Flash ・Shade 関連(使い方) ・Shade プラグイン SDK(プラグイン開発) ・Maya 関連(使い方) ・物理エンジン関連(ODE/PhysX) ・アルゴリズムいろいろ などを予定。といってもすべてある程度の密度にするまでには1年はかかりそうですが (^_^;;。 実際は仕事で使う(使った)技術などもちりばめているのですが(実はこのサイトでも)、うまい こと濃い情報をまとめていければと思います。 しかし、覚えることはいくらでもありますので(際限がないので)そろそろやるべきことを収束 させないと、とは思うのですが相変わらず広がる一方です (^_^;;。仕事の幅としてもいろいろ手を つけると自身のキャパがあっという間にあふれますので、今のうちに社内の他の方に処理を分散 できればなぁというのはいつも思ってます。情報として意外と得にくい(あるにはあるのですが なかなかうまくまとまっていない)というのを私なりにまとめていければと。 今年末には何かしらの形で公開できればと考えてます。 あ、でもドキュメントだけで開発進んでるの(やってるの)?というのはあるとは思われる方も いるかもですが、一応このサイトで書いてる情報はソフト造りのための前調査とか後々のまとめ (健忘録)で書いているものですので、 「これ関連の仕事をしてる(ソフトウェアなりを開発して いる)んだ」と思っていただければ幸いです (^_^;;。 Axis(2006/12/13) ApacheSOAP が進化した「Axis」 (SOAP の機能を提供)をとりあえずある程度使えるようになり ました。昔々に実は ApacheSOAP は仕事で使っていたのですが、Axis で結構仕様が変わってます ね。整理された感じで使いやすくなってます。よし、通信は Axis による SOAP にしよう。それと、 4 Sun のアプリケーションサーバと Sun 製の SOAP パッケージ(SAAJっていうの?)さようなら。使 い方わかんねぇです (^_^;;。Apache 製はやっぱり分かりやすいや。Sun のご本尊が分かりにくい のはいかがなものかと思うのですが、たぶんドキュメントが整っていないのとサンプルにてユー ザのほしいことがつかめてないんでないかな、と思います。Apache の Axis は、ドキュメントを飛 ばし読みしてもサンプルソースをいじってればだいたいの機能とできることはつかめました。 デベロッパが思うことを分かって作ってるな、と思います。 SOAP は Google API で使用されているので有名ですが、簡単に言えば関数を別サーバに分散して 持たせたような感じです。RPC と言って、外から機能を使うわけです。ほんとに関数を呼ぶ感じ で使えます。XML で通信するのはそれのデータの送受信手段として、ではあるのですが、実際は 勝手に XML 構造を Axis が作ってくれるので目に触れることはないですね。しかし、SOAP はイン ターネットの世界が広まって、ようやく今になって徐々に浸透し始めた、という感じがしてます。 大規模サービスに対してはさすがに個々人ではどうしようもないので、うまいこと RPC にて結ば れたというか。ただ、この手のサービスではクライアントとサーバの同期の問題があるので(ク ライアントは待たされる)、これの解決手段ってのが私自身の課題かなぁ。自前 Socket を使えば なんぼでも解決策があるのですが、HTTP だといろいろ壁が・・・。めぼしをつけてる技術はある のですが、まだ私自身が追いついてないです。 そういや、Java SE 6 が出ましたね。 IPA プロジェクト用の日記を別途書いてるのですが、そこにも技術情報と悩める試行錯誤をちり ばめてます(途中経過を逐次報告するという目的があり ( それがモチベーションにつながる )、関 連情報はすべて公にするつもりでいます)。できれば IPA 関連は ft-lab.ne.jp とは分けておきたい のですが・・・というのをはやいうちに公開したいのですが。。また代表者をつついてみよう。12 月入ってからの日記で、方向性ががらっと変わっているのはそっち系のネタです (^_^;;。 RAKA - 志方あきこ(2006/12/10) 志方あきこさんの「RAKA」というアルバムを購入。TV の CM で流れたのを一回見たので気に なっておりました。・・・・最近は、週一回は CD を買っているかな (^_^;;。 このアルバムは民族系のフィーリング、といっていいのでしょうか、アディエマス好きならたぶ ん気に入るかも。でも、ゲームやアニメの曲が多いんですね。CD 屋のどこに置いているのか探 しまくって、ゲームミュージックの棚で発見しました。たまにはこんな落ち着いた幻想的なのも いいですねぇ。ずっと聴きながら作業してます。「まほろば」がお気に入りです。 mizue で活躍していたらしい、と公式に書いていたので(そこで幻想的な曲をテーマにしていた方 がランキングの上位にいた)もしかしたら過去に聴いたことがあるのかもしれません。 秋葉に行ったのですが、Shade9 を店頭で見てきました ( パッケージと店頭ムービー )。バージョン アップ版があるかと勘違いしてたのですが、店頭でのバージョンアップパッケージははるか昔で なくなってましたね。一応ユーザではありますので、イーフロストアで注文するかな。でも、年 末は結構外に出ることが多くなるので、このような場合って配達では受け取れないんだよなぁ。 ヨドバシで太洋さんがデモってたらしいのですが、見つけられなかった・・・。というより、ヨ ドバシのデモ空間ってどこ (^_^;;? 5 Sun のアプリケーションサーバ(2006/12/10) 「Java EE 5」の「Sun Java System Application Server Platform Edition 9.0」を使って簡単なサーブレッ トの HelloWorld を作ろうとしたけど・・・、ドキュメントとサンプルが激しく分かりにくい・・・。 インストールは簡単なんだから(パッケージもまとめてあるんだから)普及するかしないかはド キュメント次第だと思ったり(というか、このアプリケーションサーバを使ってるところってあ るんだろうか・・・昔の 1.2 時代には実験的な Sun 製のがあったよね、たしか。それの延長線のも のでしょうけど・・)。しかも、Web 上で情報が少ないっす。Tomcat に戻そうかなぁ。 以下を読破するのが手っ取り早いのかな。 http://java.sun.com/javaee/5/docs/tutorial/doc/index.html 分かりやすさでいえば、Tomcat を見習ってほしいところ。HelloWorld は簡単であるべきです!! 後、Servlet 版と JSP 版の HelloWorld は用意しておいてほしい。 Linux での JNI(2006/12/07) メモ書き。ひさびさに Linux にて JNI のプログラムをあさってます。gcc で JNI の共有ライブラリ (xxx.so)をつくって、 export LD_LIBRARY_PATH=so ファイルのあるディレクトリパス :$LD_LIBRARY_PATH を行って Java ==> C の JNI プログラムを実行したときに Exception in thread "main" java.lang.UnsatisfiedLinkError のエラーが出て実行できず (RedHat9 の gcc 3.2.2/J2SE1.4.2 使用 )。 java -verbose:jni JNITest みたいに詳細ログを出してみても Exception in thread "main" [Dynamic-linking native method java.io.FileOutputStream.writeBytes ... JNI] みたいに出てよく分かりません。 いろいろ調査したのですが、海外サイトにてヒントが。「gcc」と「g++」は生成されるバイナリが 違うようで、 g++ -shared -O2 -I/usr/local/j2 -I/usr/local/j2sdk1.4.2/include/linux/ JNITest.cpp -o libJNITest.so sdk1.4.2 /include/ な感じでビルドしたらようやくうまいこと動きました。よく分からないけど、なんとか解決。 6 サーバプログラムでは私は Java が扱いやすいので愛用するのですが(というよりも、C 言語呼び 出しの方法を知っているのもあって)、データベースアクセス、ネイティブな C/C++ 呼び出しは楽 だなぁと。 ただ、インストールが面倒、多すぎる周辺技術(フレームワークとかライブラリとか)、は便利な ようで手間に思ったりします。SOAP は J2SE で標準で使えたっけ・・・。これも再度調べねば(昔 は別のパッケージだったと記憶してます)。 日記の日記(2006/12/05) 私の日記はここと、mixi と、以外にもう1つあります。IPA 関連は別のところに書いているのです が、以下の形態素解析話もそっちに追加しています。もうちょっと整ってから告知予定。日記だ らけだなぁ、、、でも日記って文章力を養う訓練にもなっていいと思います。 ドキュメントを書く仕事も多いのですが、文章力のある人とない人はすぐに見分けがつくという か、、、うまい人はほんとにうまい、逆に苦手なんだろうなという人もすぐ分かったりします。と いうことで、文章力は日記でやしなうのもいいかもしれませんね。 最近、ニュースサイトで知った 2 ちゃんねる発のポエマー姉「サマー」のまとめサイト http://www20.atwiki.jp/chinya/?page=%E5%A7%89%E3%81%BE%E3%81%A8%E3%82%81 これが書籍化されるという記事が ITmedia に乗ってたので知ったのですが、文章がうまいという か関心してしまいました。読んでて面白い(韻を踏んでいる、オチが卓越、普通じゃ思いつかな いような視点とよくわからん世界観?、それを延々と詩として書き溜めている)文章というのは 引き込まれますねぇ。 MeCab のユーザ辞書(2006/12/03) MeCab は、形態素解析を行うライブラリで速度的にも優秀です。これはデフォルトで単語登録さ れた辞書(システム辞書)がありますので、そのままでももちろん使えます。 たとえば「今日は雨が降りそうなので傘を持っていった。」を分解した場合は以下のようになりま す。 [ 今日 ] [は] [雨] [が] [ 降り ] [ そう ] [な] [ ので ] [傘] [を] [ 持っ ] [て] [ いっ ] [た] [。] 名詞 / 副詞可能 / * 助詞 / 係助詞 / * 名詞 / 一般 / * 助詞 / 格助詞 / 一般 動詞 / 自立 / * 名詞 / 接尾 / 助動詞語幹 助動詞 / * / * 助詞 / 接続助詞 / * 名詞 / 一般 / * 助詞 / 格助詞 / 一般 動詞 / 自立 / * 助詞 / 接続助詞 / * 動詞 / 非自立 / * 助動詞 / * / * 記号 / 句点 / * ユーザ辞書に登録すると、たとえば「風の谷のナウシカ」と一文であらわしたり、ということが 7 できるようになるはず。また、個々の単語に独自のタグ付け(テキスト割り当て)を行うことが 可能です。 しかし、Ver 0.93 でユーザ辞書をシステム辞書と別途で作成して、それを MeCab が認識すること ができていなかったので、原因を探ってみました。(※ちょっと日記に書いた文章で間違いが あったので訂正) Windows 環境の場合は、SHIFT-JIS で扱う場合のバイナリの辞書(ユーザ辞書)は「shift-jis」で吐 き出す必要がありました。 も う 一 点、Windows 環 境 で ユ ー ザ 辞 書 を 扱 う 場 合 に、「MeCab\etc\mecabrc」に「userdic = $(rcpath)\..\dic\user.dic」みたいにパス追加することでユーザ辞書を認識できるはずですが、これも ソースでバグとなる場所があります。「$(rcpath)」は絶対ディレクトリに置き換えられ「C:\Program files\MeCab\etc」みたいになります。で「userdic = C:\Program files\MeCab\etc\..\dic\user.dic」のよう に扱われるのですが、 「tokenizer.cpp」にて「size_t n = tokenize(buf, ":", _dic, sizeof(_dic));」とセパレー タで区切ってるんですよね。UNIX 系きめうちですので、これはひっかかります。でも、動きを見 るとその前に「$(rcpath)」の置き換えができてないのが濃厚の予感。同一ディレクトリを参照する として、 「userdic = \Program files\MeCab\dic\user.dic」にしたら、きっちりユーザ辞書に登録された データも解析に使えました。 MeCab でのユーザ辞書はどうもその都度一から作り直しみたいなので速度的に問題になりそう。 リアルタイムに「追加」したい、となると・・・う∼む、辞書構造を解析して自分で作れるかど うか・・・。 単語を学習させるエンジンとして MeCab を使うのは、ちょっと厳しいのかな。 確率・統計の本(2006/12/03) 「確率・統計のしくみがわかる本」という初心者向けの本を買ってきました。本屋で立ち読みして たのですが、どれにも「ベイズ」は乗っていました。おぉぉお、当たり前の理論だったんすね・・・っ てことは私は義務教育で習ってなかったか、たぶん寝てたんでしょう・・・orz 今回確率を使うか使わないかにかかわらず、いずれは必要でしょうから今のうちに勉強しておく 予定。というか、レンダラでのモンテカルロも確率ではありますよね。 なんというか、分野がまったく違うことをハシゴするのは散漫になるのであまりよろしくないと は思うのですが、興味ってのは尽きることがありません。でも、情報なんて無限にあるわけです ので、いずれは絞り込んで集中する必要はあるかもしれませんね。 今やっているのは、日本語の構文解析とそれの意味理解です(昔学生時代に研究でやってまし た)。これらについていろいろ調べているのですが、構文解析自身は既存のライブラリ(今は MeCab)に頼るのが濃厚ですが、リアルタイムで単語拡張が可能なのか(学習させる)、その文章 自身を理解する必要が今回のプロジェクトで本当に必要なのか、などなどまだまだ調査段階では あります。指針はようやく見えてきたのですが、それの手段としての技術をあさってる、そんな ところであります。 8 似てる技術を探す(2006/12/02) プログラムにてある機能を実現するために、そのためのライブラリなり論文を探したりするので すが、微妙に目的とマッチしないのはちとイタいところ。フルスクラッチでアルゴリズムを考え るか、ひたすら類似技術を探すまたは応用する道を探すか・・・。 ということで、 「果たして可能か不可能か」を調査中。でも、その前に「ほんとにそんなことする (それをアルゴリズム化する)必要があるの?」という原点に戻って考え直す必要もあるのかもし れません。うむ、もう一回戻ってみよう。 イーフロのニュース DM より(2006/12/01) http://shade.e-frontier.co.jp/9/ichimoku/index.html の「第五回」。 DM より、 『中でも「ヘアーサロン」は、Shade 6 から搭載されていた「Marimo」を大幅改良した もので』ということで思いっきりネタバレしてますが、言わんとすることを察していただければ 幸いです(方向性としてはファー←→ヘアーなんで真逆ですが)。 ということでご報告。大変遅くなりましたが、長年の約束を果たすことができたかと思います (2年以上かな、、、)。休止していたのですが実は水面下で動いていたのです。いろいろ研究して いた技術も投与させていただきました。みなさんを驚かせたい意味もあってわざと情報公開は 控えていたのですが、これで解放されます(笑)。 裏話をすると、このためにファッション雑誌・美容師さん向けの資料などを集めて「実際のヘアー デザインではどんな道具必要なのだろう?また、どのようなヘアースタイルのジャンルがあるの だろうか?」という視点から入ってます。機能の1つ1つは、実は美容師さんのツール(はさみ とかドライヤーとかロッドとか)に対応しているものだったりします。 ツールというものは、 「3D のソフトだから」とかで始まるのじゃなくて、使う人の立場で、とい う大前提が必要だと思います。というか、思いました。開発者主体でものごとを考えるのじゃな くて、使い手側(つまりユーザ)の立場で進化していくべきです。いずれ「ヘアといえばコレ」な んてなればいいですね。それを作り上げるのは、開発者じゃなくてユーザ自身だと思ってま す。・・・いずれはファー(ポストエフェクト)やダイナミクスともリンクすることを願って。 IPA 2006 年下期(2006/12/01) ということで情報公開。 http://www.ipa.go.jp/ にて、私が共同開発者の立場ではありますが参加させていだたいております。代表者からの許可 をもらってから、どのテーマなのかというのを出すようにします(意に反して、3D 関連ではない です (^_^;;)。本日 12/01 に顔合わせがありました。いやはや、あれです、 「オラ、ワクワクしてき 9 たぞ」の天下一武道会 予選会場のようでした。みなさんが技術者ということでアツいアツい。非 常に濃いお話(そして私自身勉強になるような話)を聞くことができました。 みなさん、私が思うよりも(おそらく私よりも)研究熱心な方が多いみたいで、私の話はたいて い理解されてました。「ベイズ?ああ、あれね。パターン認識?ああ、これね。」って感じ。後、 「こ の技術はすでに存在するよ」とか学会で出ている技術とか、過去の IPA での研究内容とかいろい ろ教えてもらいました。 IPA のテーマとしては「横のつながりを大事にする」というのもあるらしく、同じ技術者として「す げ∼」というのも多かった気がしますので(ほか、二次的に産業に発展できそうなものもありま した)、このつながりは大事にしたいです。ちなみに、3D 関連の研究をされている方ともお話で きました。私のこと(やってること)はすでに知ってましたね(汗)。 今回は私は裏方に徹しますが、技術(というほどのものでもないけど)に関しては可能な限りオー プンに経過をお知らせできればと思います。PM にもよるのですが、技術だけではなくて「それを 使って何が実現できるのか、世の中に有用なのか」というのも採択基準として大きくなっている のではないか、とも感じました。アプリケーションを開発するとか、マーケットとしてどのよう に普及させる算段があるのか、など。 10
© Copyright 2024 Paperzz