日曜日, 1月 29, 2006

Java2D

MSWに送ったアプレットを作っていて思ったことなんですが実はJava2Dって表現力があるんですね。以前はImageFilterを使って無理矢理半透明フィルターを作ったりしていましたが、Java2Dなら快適に動きます。今度はJava3Dに挑戦してみようか、、でもそんな時間はありませんね。

月曜日, 1月 23, 2006

Livedoor

とうとうホリエモンの時代が終わったという感じですね。この先Livedoorがどうなっていくかは分かりませんが堀江社長が社長のままでいることはないでしょう。やはり何でも一気にやろうとするとどこかで失敗するということでしょうか?地味にコツコツやっていくのがいいのでしょうね。というわけでStork Labは細々とこつこつとやっていきたいと思います。
そういえばこの前Stork Labのソフトウエア"Block Getter"が雑誌に紹介されました、が、一行のみの紹介です(しかも細いです)。そのうえ内容が、、一部画像が学生の買うものではありません。承諾して後悔したので探したい方は探してみてください。

土曜日, 1月 21, 2006

久しぶりにCSSと格闘

Virtual PCでWindows XPのInternet Explorerを起動させながら書いています。Windows版IEはCSS解釈が特殊なのでWindows版のIEにあわせれば他のブラウザで見れない、他のブラウザに会わせればWindows IEで見れない。ほんとに困ります。IE7ではだいぶ改善されるという話ですが。そこでJavaScriptによる制御。仕方ないです。ほんとはやりたくないんですけどね。まあ、今作ってるテンプレートはもともとJavaScriptばりばりなので一緒ですね。かなりフレキシブルなテンプレートになるはずです。そのかわりブラウザもWindows/Mac IE、Firefox、Safariに限定されそうです。Operaはうまく表示されていません。Bloggerのテンプレートを参考にして直してみます。
いまw3mで試したところだいたい表示されるようです。デザインは完全に無視されていますが。

URLを変更しました

Geocitiesだと広告との兼ね合いから自由なレイアウトが出来ないので忍者Toolsに変更しました。また、今後更新頻度が減ることが予想されるためBlogベースのサイトに変更しました。また、サイトデザインのリニューアルも検討しているため現在少し醜くなっています。近いうちに大幅なデザインの変更とそのテンプレートの公開を予定しています。

木曜日, 1月 19, 2006

Intel MacでWindows起動

どうも出来ないようですね。期待していたのですが。まずBIOSが採用されていないとのこと。そのかわりEIFという別の最新技術を採用しているようです。確かに過去の互換性を考慮しなくてよいAppleにとっては古いBIOSを採用する理由なんてありませんしね。しかしこのEIF、どうもこれに対応したLinuxでもインストール出来ないようです。Apple用に特別にカスタマイズされているようですね。まあ、Linuxはだれか作る人がいるでしょうからそのうち出てくるでしょうがWindowsとのDual Bootは期待しない方が良さそうです。MicrosoftさんIntel Mac用のVirtual PCよろしくお願いしますね。まあ、CPUが一緒ならQEMU等のフリーエミュレーターに期待してもそこそこの性能は出ると思いますが。実際QEMUはIntel CPU上でIntel CPUをエミュレートする限りは10割から9割の性能が出ているようですから。まあ、実際にはエミュレートせずに他のハードウエアの仮想かだけして直接実行しているからこんな性能が出るのですが。
とにかくWindowsが等速で動くようになることを期待します。
(本当はMac OS X&Windows&Solaris&Linuxのクワッドブートをしたかったのですが、、)

水曜日, 1月 18, 2006

GNU GENERAL PUBLIC LICENSE

GPLの第3版の草案が発表されたようです。このGNUはGNU is Not Unixの略ですが、Unixのソースコードをある企業が独占していたことに反抗して設立されたようです。今はFree Software Foundationという団体でGNUはスローガンみたいなもんらしいですが。この辺はあまり詳しくないので間違ってるかもしれません。
さて、このGeneral Public License、私も昔は好んで使っていた時期もありましたが今はもっぱら修正済みBSDライセンスを採用しています。GPLは確かに自分のソフトウエアを保護するためには強力な手段だと思います。自分が考えついたオリジナルなアイデアを保護したいけれどまた、みんなに使ってもらいたいという矛盾する欲求を満たすためには良い選択肢だと思います。しかし、GPLで公開されたソフトウエアを利用したソフトウエアを作成する場合には、またこれもGPLを利用しなければなりません。Mozilla Public Licenseを使おうと思ってもそういう訳には行かないのです。一部のライセンスはGPLと矛盾しませんがそれでもGPLより緩いライセンスだけを使いたいということは出来ないのです。そういう訳で私はより緩い著作権表示だけを求める修正済みBSDライセンスが気に入っています。
もちろんGNU Classpathのように基本はGPLライセンスで例外をもうけたりLesser General Public Licenseを用いることも出来ますが、私は修正済みBSDライセンスの最初から矛盾しない使いやすい、そしてシンプルなライセンスが気に入ってます。
まあ、ライセンスよんでくれる人なんて滅多にいないようですが。

月曜日, 1月 16, 2006

Netbeans5(2)

NetBeans5、なかなかいいのですが一つだけ難点が。VMごと落ちる。そもそもVMが落ちるというのはAppleのせいでしょうけど、書いていたコードが消えるのは痛いです。
でもコード入力支援は良くなっていますし何よりもうれしいのが強化されたGUIレイアウト機能。Java標準APIではありませんが追加APIによりMac OS XのInterface Builder並みのレイアウトの自由度があります。いままでGridBagLayoutであきらめていたレイアウトも可能となりました。ただ、上から順に入れていく場合は良いのですが途中にコンポーネントを挿入する方法が分かりませんでした。でもこれで簡単に複雑なレイアウトがくめます。ほんとにJava標準のレイアウトマネージャーは低機能ですからね。でもこのレイアウトをGUIエディターなしでやろうとすると大変なんだろうな。
結局多少クラッシュしても開発効率は上がると思います。

日曜日, 1月 15, 2006

NetBeans5

NetBeans 5 RC1を試用していますがなかなかいい感じです。コード補完もEclipse並みになりましたしエラー修正の候補を出してくれるのも良い。NetBeansのサイトでは新しいGUI編集機能が大きく宣伝されているようですがコード入力支援もちゃんとバージョンアップしています。おかげで4.1よりも早くコードが打てるようになりました。後は新しいGUI編集機能を試してみることですね。

土曜日, 1月 14, 2006

NetBeans文字化け

どうもNetBeansをJava 1.4で実行するとエラー表示が文字化けします。
これはJava 5.0でNetBeansを実行すれば解決します。ただ、現在公開されているJava 5.0 for Mac OS Xは既存のJava 1.4を置き換えるものではないのでちょっとした工夫が必要です。
NetBeans.app/Contents/Resource/NetBeans/bin/netbeans
を開きます。
そこで下の方にある
--jdkhome "$netbeans_jdkhome" を
--jdkhome "/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home" に置き換えます。
NetBeans 4.1を利用している場合は
-J-Dnb.useSwingHtmlRendering=true をオプションに追加しておくと日本語を使うときに便利でしょう。
ところでNetBeans 5 RC1が出ていますね。スプラッシュにRC1と書いてあったりProducts VersionにもRC1と書いてあるあたりRCなのかと思ってしまいますが。まあ、自分もやってましたから人のこといえませんけどね。でもOpenOffice.orgなんかはRCのファイル名を変えてそのままリリースします。Firefoxも同じですね。
このNetBeans5ではGUIデザインツールがさらに強化されているようですがどうなんでしょうか。Flashのデモを見る限りMacのInterface Builderに近いデザインが出来るようです。まだ、NetBeans5で始めたプロジェクトはないので試していませんが。私はこのGUIよりもさらなるコード入力支援の方が欲しいですね。私の要求としてはGUIデザイン>コード入力支援なのでNetBeansを使っていますがGUIがあまり重要でないプロジェクトやNetBeansのGUIデザインツールを使いたくないときはEclipseを使います。Eclipseのコード入力支援にNetBeansのGUIデザインツールがつながれば向かうとこ敵なしですがね。EclipseのVisual Editorはめっちゃ重い上にうまく動かないし、、
とりあえず今はGUIのコーディングが多いのでNetBeansを使っていくつもりです。

水曜日, 1月 11, 2006

とうとう

とうとう出ました。Intel製プロセッサー搭載Mac。個人的にはMacBook Proが欲しいですね。ちょっとディスプレイが大きいのが難点ですが。せめて14インチモデルが欲しいですね。ノートならもっと機動性が欲しいです。
さて、StorkLab製ソフトウエアのUniversal Binary対応ですがもう一年待ってください。現状でもRosettaによって十分動作可能だと思います。重たい処理はすべてシステムのネイティブによって行われているのでそれほどストレスなく使っていただけると思います。といっても重たい処理らしい処理をしているのはBlock Getterの半透明くらいですけど。どうせこれはGPUが手伝ってくれますし。
なんで一年待つかというと、実は私はまだ17歳なのでUniversal Binary対応のDeveloper Toolsがダウンロードできないのです。18歳になればADCからダウンロードできますので(実はADCのアカウントはあるのですがこれをとったのは18歳の制限ができる前)。もっとも実機によるテストはできませんが。ユーザーの報告を待つしかありません。
さて、同時に発表されたソフトウエアですがiLifeとiWorkの'06。今回iLifeに追加されたiWebはStork Blogと似たコンセプトで開発されているようですね。特にAppleのデザインとくれば私が太刀打ち出るはずもありません。もっともStork Blogはトップページからも削除した(Productsのページからは行けます)ほぼ中止確定プロジェクトなのでどうでもいいんですけどね。
そういえばwxWidgets、未だにリンクに成功しません。もうあきらめます。GTK2 for Mac OS X ネイティブに期待することにします。

火曜日, 1月 10, 2006

文字幅の取得

意外とあっさりと出来てしまいました。いままでは
TextLayout.getBounds().getWidth()
を呼んでいたのですが、
TextLayout.getAdvance()
をつかえばきれいにそろいました。
現在はプライベートなソフトを書いているのでこの成果が表に出すことはありません。でもいつかこれを使ってなにか作りたいですね。

しかしあのJavaの印刷APIはどうにかならないんでしょうか。印刷するのにToolkitを使う方法java.awt.printパッケージを使う方法、javax.printパッケージを使う方法とあり、しかも似た名前のクラスがいくつもあります。
Toolkitを使う方法を今更使う人は少ないと思いますが、javax.printのJava Print Service APIもいまいちです。これで表示できるダイアログで紙のサイズ、方向が選択できないんですよ。項目自体はあるのですが私の環境(Java 1.4.2+Mac OS X 10.4.3+Canon BJ S700)では無効化されていて使えません。仕方なしにjava.awt.printにあるPrinterJobを使って印刷させています。これならネイティブのダイアログが出るので細かいことまで設定可能ですしね。

しかし、こうやってJavaでプログラミングしてるといかにMacのプログラミングが簡単かということが身にしみて分かります。MacのCocoaならInterface Builderだけで済むような作業もJavaではNetBeansの優れたGUI編集機能を持ってしてもコードをたくさん書かねばなりません。ほんとにMac OS Xのシステムはよく作られていると思います。

月曜日, 1月 09, 2006

Javaから印刷

Javaから印刷をしようとしています。グラフを印刷したいのでjava.awt.print.Printableを実装しているのですがテキストの幅がうまく取得できません。java.awt.font.TextLayoutを利用しているのですがどうもずれてしまいます。Font.getStringBounds()をつかってもずれます。これはMacのJavaの問題なのでしょうか?しばらく試行錯誤してみます。

火曜日, 1月 03, 2006

あけましておめでとうございます

いよいよ2006年ですね。これからもStorkLabの開発を加速させていきます、といいたいところですが今年は本業の学業が忙しくなるので今以上に更新が停滞しそうです。そんなStorkですが今年もよろしくお願いします。