2008年11月30日

JREのバージョンがあがったら

 つい最近、JREのバージョンがあがった。アマテルのバージョンダイアログからも確認することができるけど最新版は1.6.0_10-b33。
(これより前のバージョンのときは、Javaのコントロールパネルから簡単にアップデートできる。または自動アップデートに設定しておくと、自動的にやってくれる。)

 バージョンが上がってから前より高速に動くようになってるみたいだ。アマテルでホロスコープをドラッグして回転させるとやっぱり速くなってる感じがする。
posted by おーさわ at 11:25| Comment(0) | アマテル開発日誌

2008年11月28日

アマテルカウンタの数は

アマテルカウンタの数は今回リリースした時点から数え始めるので、これまでにインストールされた数は入っていません。
けれどこれから少しずつ増えていくのが見えるはず。
数え方の詳細はマニュアルを見てね。
posted by おーさわ at 03:42| Comment(0) | アマテル開発日誌

バージョン1.3.0βをリリース

バージョンアップしました。

■追加された機能

チャートの画像をファイルに保存、クリップボードにコピー、印刷。
ホロスコープを時計のようにリアルタイムにアニメーションする時計モード。
ヘルプメニューからマニュアルを表示。
マニュアルを大幅にリライト。前よりも読みやすくなるよう心がけた。
ツールバーを非表示にして画面を広く使えるようにする機能。
全国のアマテルの稼働数がわかるアマテルカウンタ機能。
マイチャート、今のチャートボタンに、スキンと計算条件を適用できるようにした。
全体の操作性の向上。多数のバグを除去。
より安定動作するようになりました。

■操作法が変わったところ

マイチャートへの登録は、チャートを表示してから編集メニューで行う。表示中のチャートに適用されている計算条件とスキンも記憶される。今のチャートボタンも同様に編集メニューから。

メニューバーのチャートと編集メニューの順序を入れ替えた。

以上

もうすぐ新月だ。少し早めに種まき完了。
posted by おーさわ at 00:52| Comment(0) | アマテル開発日誌

2008年11月27日

バージョンアップ作業中

今23時32分。バージョンアップの作業中なのですが、ちょっと手こずっています。もしかしたら今のアマテルを起動すると、エラーが出て落ちるかもしれません。すいません。少し時間を置いてからためしてみてください。

リハーサルして本番というようにしたいのだけど、なかなか追っつかない。orz
posted by おーさわ at 23:34| Comment(0) | アマテル開発日誌

2008年11月21日

ニワトリを数えなおしてみた

amalog.png アクセスログをいくら解析してもアマテルがインストールされた数はわからないと以前書いたけど、あらためてサーバのアクセスログをながめていたら、二つの条件を満たす行を抽出すれば概算できそうに思えてきた。アマテルのjnlpファイルをGETしていて、かつその一手前に、インストールページを参照しているアクセスを抽出すれば良い。インストール後、デスクトップアイコンから起動した場合は、インストールページの参照情報は付かないから、両方の条件を満たしているアクセスは、インストールされたときのものと推定できる。

 サーバに貯まっていた8月8日から11月19日までのログをまとめてDLし、Perlで解析用のスクリプトをちょいちょいと書く。Perlは書き捨て感覚で書けるのでこの手の用途には実に良い。十分ほどでプログラムは完成。
 解析結果は664件。毎日かならず数件のインストールがあり、多いときは一日15件以上の日もある。インストールをやり直す人もいるから、あくまでも概算だが悪くない数字だ。その結果をエクセルでグラフ化。
 宣伝したり声の大きなサイトで紹介されるとガーッと一時にアクセスが集中し、そのあと一気に数が減るものだけど、今のところそういうことはせず、自然にまかせているせいか、増減の波はほとんどなく毎日一定のペースでじわりじわりと順調に増えていってる。
 しかし数百人がインストールしたらしいとはいえ、直接使い方を聞いてきたり、バグを報告してくるユーザはほとんど皆無で、少数の知りあいの人々からのものがほとんどだ。
 マニュアルがなくても使えるのが良いソフトだし、バグもないからクレームもない、というのがある意味理想ともいえるが、反響があると私はうれしい。アマテルに目安箱機能をつけたら、もっと情報があつまるかなとも思うのだが、それはメールでもブログにレスしてもらうのでも可能な事だ。あまり押し寄せられてもさばききれないし、他人の意見にふりまわされはじめると、本来めざしている軌道を見失うから加減が重要だ。

 インストールしてくれたユーザの皆様ありがとう。まだの方も是非インストールしてください。今後もバージョンアップを続けます。アマテルをよろしく!
posted by おーさわ at 06:57| Comment(0) | アマテル開発日誌

2008年11月20日

サポート掲示板を作りかけてやめている

 したらばでスレッド式掲示板を借りてアマテルのサポート掲示板を作ろうかと手続きをしたのだが、、、、やっぱめんくさいなぁ。ブログにレスする人もいれば掲示板に書く人もいて、さらにメールでよこす人もいて、、、3つもチャンネルあけると、時間食われすぎてしまう。
 今の段階ではユーザーサービスや広報は最小限で、アマテル作りに専念してクオリティを上げるほうが先決だろう。
posted by おーさわ at 13:03| Comment(0) | アマテル開発日誌

2008年11月17日

ホムペをリニューアル

人任せにしていたホムペだけど、更新作業は伝言しなければならず、かゆいところに手が届きにくいので自分で作り直してしまった。
でも今のところ内容はあまり変わっていません。
posted by おーさわ at 11:38| Comment(0) | アマテル開発日誌

マイチャートボタンのこと

 マイチャートボタンは、自分のデータを登録しておくと、以後そのボタンを押すとすぐに自分のチャートが開く、というボタンである。
実は「自分のデータを登録」という考え方が、間違っているのだ。
「自分のチャートを登録」するのが正しい。このボタンを押したら出てきてほしいのは、望んでいるチャートなのであって、出生データではない。ところが今は出生データを登録するというインターフェイスになっているのだ。

 チャートはどんな図を描くのか(チャート(C)メニューの中のどれを使うか)、計算とスキンの設定はどれを使うのか、図に表示する出生データはどれか。トランジットの情報、がワンセットになったものだ
 今のマイチャートでは、出生データの呼び出し用IDを記憶しているだけだが、チャートを復元するためには、これだけの情報をどこかに記憶しておく必要がある。

 マイチャートボタンに必要とされている機能は、前述したいくつかのパラメターをひとまとめにして、チャート単位で保存/復元を行う機能だ。これはマイチャートボタン一つだけであれば簡単で、今いじっているバージョンではそれはもうできている(公開バージョンはまだ)。
 しかしこの機能から見えてくるより高度な機能がレジューム機能だ。アマテルでいくつかのチャートを開いて、占星術の作業をしているとする。作業が終わってアマテルを終了する。ふたたびアマテルを起動したときに、前回開いていたチャートが再び画面内に復元される機能。これは前々から予定しているのだが、チャートを表示する部分や、表示設定を管理したりする部分など、細部ができないと作りようがない機能である。小さな機能が複数集約されてできあがる機能だからだ。
 占星術とは直接は関係がないんだけど、こういう機能のほうが私の中では優先順位が高い。入れ物の部分だから。その入れ物の中に、様々な占術メソッド用の道具類が入る。サビアン辞書や占星術辞書も中身の部分。レジューム機能は道具箱に属する機能。

 メインである道具作りを優先したい誘惑はしばしば起きるし、人はどんな新道具が追加されたかにはよく反応する。ドラえもんのポケットから出てくる道具に目はいくが、ポケットの仕組みにはあまり意識が向かわない。「前よりずっと使いやすいポケットになりました」なんていっても「ふーん」てなものである。でも真に(技術的に)大事なのは入れ物のほうなのだ。道具箱からすぐに望んだ道具が取り出せなかったら、どんなに良い道具も真価が発揮されない。

 時計だって中の機械ではなく側のケースにコストがかかっている。うどんだってうどん玉よりつゆのほうがコストがかかる。秋月電子の組み立てキットにケースがついていないのは、ケースはメカより何倍もコストがかかるからだ(と思う)。人間も中身が大切だというが・・・なんか話が脱線しはじめたのでこのへんで(w。
posted by おーさわ at 11:14| Comment(0) | アマテル開発日誌

2008年11月10日

ひさしぶりにCGIのプログラミング

 ここ4日ほどアマテルがインストールされた数と起動回数を調べるためのCGIプログラムを作っていた。(もう二年以上サーバーサイドのプログラミング忘れていたのでかなり嫌な作業である。)
アマテルが起動したときに、このCGIにアクセスさせる。CGIは名無しのアマテルにIDを与えログに記録する。これによってアマテルがインストールされた数が分かる。
IDをもったアマテルのアクセスもログに記録する。これによって今日起動したアマテルの数が分かる。このようにして毎日ログを蓄積していく。そして蓄積したログを解析して、日別、月別の集計表を作る。

 CGIのプログラミング言語は、私には選択肢が二つあった。PerlとPHPだ。PHPは書くのは楽なのだが開発環境をととのえてやらないといけない。Linuxマシンを用意してHTTPサーバーやDBを常駐させて・・・。前はそういう環境を用意していたのだが、なんかもうめんどくさい。手間を食いすぎる。アマテル本体を書く時間を削られたくない。
 それからPHPはある時、大幅なバージョンアップをして、それまで書いてきたソースの多くがほとんど動かなくなり修正をせまられた。これがあるから新進言語は恐ろしい。

 そこで昔からまったく変わっていないPerlである。これはほんと、96年ごろからまったく変わってない。これで書いたプログラムは今でもちゃんと動くし作法もいっしょ。動作チェックもWindowsのローカル環境でもできる。
 ログを蓄積してそれを日別月別に集計したり、ID発行を管理したり、様々な角度からデータ分析を行うといった場合、やはりDBを使いたくなる。普通のファイル管理でも実現は可能だが、書いた集計プログラムの動作検証がDBを使うよりかなり手間なのと、あとから仕様変更しようとしたとき融通が利かない。DBを使うとSQLによってそういう苦痛を大幅に軽減できる。

 今回の用途にDBはとても魅力的だし、使ってるレンタルサーバはDBを完備しているが、あえて使うのはやめた。リモートホスト上のDBをメンテナンスするのはじゃまくさい。DBが動いてないと書いたプログラムの動作チェックができないので、ローカル側でもDBの使用環境を整えてやる必要ありそれがじゃまくさい。サーバーの引っ越しがあると、DBのデータの移し替え作業がじゃまくさい。(もうめんどうなことは一切嫌なの!これが四十過ぎるってことなんだよね。(笑))
アマテル集計プログラムはごく普通の原始的な方法で書き上げた。

 なにを問題にしているかというと時の重みだったりする。時間がたつと自分で書いたプログラムも他人が書いたもののようにわからなくなる。言語も仕様変更されて今まで動いていたものが動かなくなる。サーバーだって引っ越しすることはある。コンピュータの世界はほんとに諸行無常を痛感するので、時間の経過に耐えるか耐えないかで使う技術を選ぶようになる。石橋を叩いて渡らない(笑)。でも、叩いて大丈夫だったはずの石橋が数年たたずに落るんだな、これが。
posted by おーさわ at 10:08| Comment(0) | アマテル開発日誌

2008年11月07日

ニワトリ・アマテルは何匹いるのか?

 8月8日の北京オリンピックの日にリリースしてから、3ヶ月経過したが、はたしてアマテルはいったい何台のマシンにインストールされたのだろうか?
 インストールしてもそのまま使わずに、あるいは使えずに、放置されたりアンインストールされてしまったものもあるだろう。毎日あるいは数日おきに使われている場合もあるだろう。アマテルが何匹に増えたのか、確実に知る手段を私は用意していなかった。

 Java WebStartによるアマテルのJNLPファイルへのリンクをクリックすると、はじめてならインストールが行われる。JNLPファイルにアクセスしたことは、Webサーバー(Apache)のアクセスログに記録が残るのだが、アマテル起動時にはかならず、このJNLPファイルにアクセスし、バージョンが新しくなっていれば、アップデート処理が行われるというのが、Java WebStartの仕組みである。
 ユーザーのリモートアドレスが固定されているなら、IPをユニーク抽出すればアマテルのユーザ数を割り出せるが、普通は毎日かそれ以上のペースで変化してしまうので、これも個人もしくはマシンを特定する手がかりにはならない。つまりサーバーログの情報をいくら解析しても、アマテルが何台のマシンにインストールされたのかほとんど確かな情報は得られない。

 そんなわけで、次にリリースするアマテルには、何匹に増えたかを計る仕組みを用意した。tetramorph.toのサーバには祝福CGIなるものを用意する。インストール直後のアマテルはまだ祝福されていない。祝福とはIDをもらうことなのだが、これは教会で洗礼名をもらうようなものだ。最初アマテルはIDを持っていない。
 アマテルが起動すると祝福CGIにアクセスする。祝福CGIはIDを持たないアマテルからのアクセスがあるとユニークIDを発行する。アマテルはそれを受け取り記憶する。アマテルが次に起動したときは、もらったIDを祝福CGIに送信する。祝福CGIはIDをもっているアマテルが目覚めたことをログに記録しアマテルに「Live long and prosper.」と言う。
 ログにはアクセスしてきたアマテルのIDとその日時が記録される。ログに記録されているIDをユニーク抽出したら、これまでにインストールされたアマテルの数が分かる(もちろん多少の誤差はつきものだ。たとえばオフラインのときは祝福CGIへのアクセスは休む。サーバがメンテ中ということもある)。
 長期間にわたって何度も出現するIDは、そのアマテルがよく使われていることを意味する。一度ログに表れてその後まったく表れないIDは、インストールされたけど、使われていない死んだも同然のIDだとみなせる。繰り返しアクセスのあるIDのみ抽出すれば、実際にアマテルを常用してくれているユーザ数を知ることができる。インストールされた数より、どれだけ常用されているかのほうが重要だ。使われないなら意味がない。

 何匹のニワトリがマシンにインストールされたか。何匹のニワトリが日々生きているか。ニワトリの数の推移。といったログの解析結果もアマテルから参照できるようにしていく予定。
posted by おーさわ at 18:24| Comment(2) | アマテル開発日誌

2008年11月01日

アマテルの軽量効率化を考える

 Eee PCでアマテルが動かなかったというメールが来た。どんなPCかと思ってしらべてみると、ASUSが製造している低価格ミニノート。メモリは256Mから1GB、CPUはIntel Celeron M、TFT液晶で800×480。なぜ動かなかったかは、詳細が不明なのでまったく不明。アマテルを使うには画面サイズがちょっとキビシイけど、次回のリリースではツールバーを隠せるようにして少しは広く使えるようになっている。

 「インストールしたが、古いパソコンなので動作が遅い」「メモリを食いすぎる」というレポートは何件か寄せられる。対して最新のCore2duoを積んだマシンだとストレスなくサクサク動くとも。私はPen4 3GHz、メモリ1GBで、もう数年前のスペックだけど、ほとんどストレス無く動いている。コンピュータの性能は毎年伸びていくし、CPUの性能は1年で倍になるというムーアの法則は今でも有効とされているし、今は遅くてもほっとけば自動的に問題は解決するだろうと踏んでいた。しかし省エネや世界規模での経済破綻が叫ばれる昨今、Eee PCが出てきて売れ筋商品になっている状況をみると、コンピュータ業界が私の思惑通りに進展していくかどうかは怪しい。

 しかし遅い、リソースを食う、というのも機能と引き替えという部分もある。三万件以上のデータを占星術的に瞬時に検索できるようなソフトはアマテル以外には知らない。何万件もデータを記憶すれば、メモリを消費するのはこれは当たり前。大量のデータ管理という点では、既存の占星術ソフトはほとんど役にはたたないはず。それらはみなグラフソフトとして開発されたものだから。

 アマテルのメモリ消費量をjconsoleという専用のツールで調べてみた。データが約三万五千件登録されている状態では60MBほど消費する。データが一件も登録されていない状態だと26MBほど。
 データはHSQLDBを使って管理しているが、このDBはデータを基本的にはオンメモリで扱う。いちいちファイルにアクセスしない。だから動作が高速。そのかわり大量のデータを読みこめば当然メモリは消費する。また起動時にはデータを一気にメモリに読みこむので少々時間がかかる。ただしDBの設定を変更して、メモリではなくファイルに保管する方式も使用できる。その分、メモリ消費は押さえられるが、かわりに動作は遅くなる。

 実験でファイルに保存する方式に変更してみると、データ件数三万五千件のとき、起動速度はオンメモリに比べて35%速くなる。起動時にデータを一気読みしなくなるのでその分早くなる。メモリ消費量はあまりかわらない。30MB〜60MBの間で変動する。メモリ式の場合は55〜60MBの間で変動。最大消費するときの量は変わらないわけで、「メモリが少なくて動かない」というケースを救済してくれるものではない。動作速度が重要だが、かなり遅くなる。体感では倍くらい遅くなる感じがする。このような状況から考えて、メモリ消費を押さえるためにDBをファイル式で動かすのは得策ではないと判断できる。

 百万件とかとんでもない数のデータを入れたいなら、メモリ式ではかなり無理があるので、そのときはファイル式にするか、あるいはもっと本格的な汎用DBを使う選択肢を用意しなければならないだろう。
 今のところアマテルはそこまで多量のデータを入れることを想定していないが、そういう状況にも対応することはさほど難しくはない。SQLで動く高性能のDBはすでにあるので、それに切り替えたら良い。

 データ未登録のアマテルは約26MBのメモリを消費する。ちなみにJavaで書かれた2ちゃんブラウザのV2Cのメモリ消費を計ってみると、6〜8MB。アマテルを開発しているIDEのNetBeans5.5は、アマテル開発時に60MBから100MBを消費。Javaアプリとしてみたとき、アマテルはそんなに大飯喰らいではないと思われる。

 アマテルの起動を速くしたい、メモリ消費を押さえたい場合は、たくさんのデータを登録しないというのが一番の解決策だろう。そういう使い方をすると、アマテルの真価が発揮されないのだけど、どうしてもという場合は仕方がない。

 Eee PCのような低スペックのノパソも対応はしていくつもりだ。周囲をみている限りでは占い師や占いユーザはモバイル環境を好む。高性能のデスクトップ環境を前提にしてしまうと、主要なユーザ層を取りこぼしかねない。しかしあまり古い機種までサポートするわけにはいかない。今さらWin98を持ち出されても困る。
対応するか捨てるかの線引き基準としてEeePCというのはちょうど良いかも。ただしメモリは最低でも512MB入ってるモデルにしてほしいけど。

 JavaやSQLで動くDBを採用したこれまでの開発方針が間違っていたとは思わない。望んでいた機能を満たすためにはどうしても必要だった。プロトタイプは大がかりで効率が悪いと決まっている。開発のしやすさを取り、速度や効率を犠牲にしたのは方針通りだ。
 多機能で、多量のデータを管理でき、高速に検索でき、メモリを極力消費せず、高速に動作し、精度よく計算し、表示も印刷も美麗なのが理想である。すべてが良いのがいいに決まっているのだから。
 しかし軽量と高機能は対立する性能だ。高機能をめざせは、軽量化は難しい。軽量化をめざせば高機能は難しい。それでも、その両立は目指すべき理想ではある。問題はいつから目指すかだ。たしかに時代は省エネに向かっている。しかし今のアマテルの開発状況で、それをするのは早すぎる。子供でいえばまだやっと首がすわってきたような段階。もっと様々な実験を行い可能性を模索したい。最初から型にはめる開発なんてつまらない。

---------------------------------------------

 「動作しなかった」とかバグレポートは大歓迎。詳しく症状を書いてエラーログもついてると、だいたいはすぐに解決することができます。
 アマテルのよくある質問集、エラーログの取り方は次のページを参照してください。

http://tetramorph.to/amateru_faq/
posted by おーさわ at 14:41| Comment(0) | アマテル開発日誌

2008年10月25日

印刷やコピペやファイルに保存

 アマテルのチャートの画像を、ファイルに保存したり印刷したりできるようにした。保存はPNG,GIF,BMPなどいくつかの中から選べる。私は印刷してチャートを読む習慣がないので、この機能は後回しにしていた。

 ホロスコープの印刷は、最初から印刷することを前提にしていたので楽だったけど、レポート機能は考えていなかった。印刷してみると紙からはみ出してしまう。縮小するとか、さらに2ページに分けて印刷するとか、考えないといけないのだが、Javaのマニュアルを読んでも方法が書かれていない。レポート機能はJEditorPaneというHTMLを表示できる部品を使っているのだけど、検索してみるこの部品の表示を印刷する方法はみな悩んでいるようで、しかも解決策がズバリのってるのはみつけられなかった。

 そういうときは公開されてる印刷APIのソースコードを読んだり、試行錯誤して自己解決するしかないんだけど、印刷しないことには結果がわからないから、何度も何度もテスト印刷する。紙がどんどん無駄に消えていく。もったいないので裏返してまたテスト。
 結局一日悩んだすえ無事解決。わかってしまえば簡単なことも、わからないとほんとに難題に思えて憂鬱だが、算数さん太君みたいにピッカーッ!が来ると、いっぺんにハイになる。この感情的なアップダウンが好きなのかもしれない。
posted by おーさわ at 19:05| Comment(0) | アマテル開発日誌

2008年10月20日

アマテル 1.1.5βをリリース

アマテル1.1.5βをリリース。
三種類ほど検索機能が増えました。
それからスキン(配色設定ファイル)のインポート/エクスポート機能が追加。
前のバージョンより、操作性と安定性が向上。

スキンファイルをいくつか用意しました。
これは基本ホロスコープ用です。
自動解凍書庫になっています。

(1)ダウンロードして実行するとskinというフォルダができその中に4つのXMLファイルが入っています。
(2)アマテルを起動して適当なチャートを表示。
(3)チャート(C)から「基本ホロスコープ」を選択。
(4)表示(V)から「スキンの整理」を選択。
(5)ダイアログが開くので、その中の編集メニューから、インポートを選択。
(6)ファイルダイアログが開くので、解凍したXMLファイルのフォルダを開き、なかの4つのXMLファイルを選択。(Shiftキーを併用すると複数選択可能)
(7)「開く」ボタンを押すと、インポートされます。
(8)スキンの整理ダイアログに、インポートされたスキンの名前が表示されるので、任意のものを選択すればOKです。

スキンファイルのダウンロード skin.exe (40KB)

 前バージョンのマニュアルは、あまりにもやっつけ仕事だったので、今回、ちょっと気合いを入れて書き直した。しっかりした目次や索引を作りたいのだけど、パワーポイントでは機能不足でちょっと無理。
目次や索引のリンクを張る機能は、できてあたりまえのように思えるけど、あまりきちんと対応しているソフトを見かけない。
アドビのインデザインに乗り換えるか・・・。
しかしパワポのお手軽さは捨てがたい。
 
posted by おーさわ at 09:57| Comment(0) | アマテル開発日誌

2008年09月29日

バージョンアップしたいが、しかし・・・

amateru0924.jpgベータ版1.0をリリースしたあと、検索まわりの強化を図ってきた。
たとえばノーアスペクトの人物データを検索できるようにした。
検索結果窓をタブ式にして、またどのような検索をした結果なのかわかるようにした。
新月や満月の時刻表を生成して、新月図や満月図が簡単に作成できるようにした。
同様にネイタル図に対しての太陽回帰図や、他の天体の回帰図が表示できるように、回帰時刻のデータを生成できるようにした。

前回書いたチャート選択の問題も、一応、改善の努力はしてみたが、やっぱりこのあたりにねじれがあるようで、どうもまだ詰めが甘い。
この部分がすっきりしたら、ホロスコープの配色設定を、多人数でシェアできるスキンの仕組みに着手できるのだけど・・・。
占星術辞書はその後くらい。

新月あたり、つまり今日明日あたりには新バージョンをリリースしたかったけど、水星逆行がはじまった影響か、どうもまだ腹が決まらない。
もうちょっといじくる必要がありそう。

しかし、あまり間をあけず、頻繁にバージョンアップをくり返すというのも、わるくはないかもしれない。作りかけの部分や、バグが残っていても気にしないという方針で(笑)。操作法が一気に大きく変化すると、ユーザのほうも面食らうだろうし・・・。しかしあんまりひどい状態でリリースすると信用にかかわるし。それもベータ版の間は良しとするか・・・・迷う。

posted by おーさわ at 00:41| Comment(0) | アマテル開発日誌

2008年09月13日

Vectorの登録拒否とJava WebStartの関係

 Vectorソフトウェアライブラリに、アマテルを登録しようとしたら、拒否されてしまった。なんでかというとアマテルがオンラインインストールになってるから。ベクターが受け付けるのは、zipやexeファイルになってる、いわゆるフツーのソフトウェアに限られ、vectorのサーバー上に保管できるものでなければならず、作者自身のサイトから配布するのは許可しないのだそうな。

 アマテルはJava WebStart技術を使っていて、オンラインで一気にインストールする。この方式を警戒するユーザーがいるのは百も承知だったのだけど、Javaアプリのようなクロスプラットホームでの動作を前提にした場合、インストーラーを作るのに非常に手間がかかるので採用した。セキュリティ面でのリスクも、zipやexe形式で配布されているものと比較してもほとんど差は出ない。
 JWSにしておけば、LinuxもSolarisもWindowsも、そしておそらくMacも、サンマイクロなりアップル社がほっといてもインストーラ(正確にはデプロイメントといわなきゃいかんのだそうだが、そんなことはどうでもいい)は用意してくれる。
開発者側は各機種やOSに合わせてインストーラーを作る手間から開放される。もしこれを自分で作ろうとしたら、複数のOSや機種を一式そろえることになり、会社ならともかく個人ではそこまでまかなえない。時間もかかる。
 それから人の足もとをみたというか、これは会社の足もとを見てるというべきなのだが、馬鹿みたいに高価なクロス環境対応のインストーラも売られているが、個人のフリーソフトにそんな金をかけるわけにもいかない。

 JWSはそこらへんの問題を一気に解決してくれる便利なもんなのだけど、新しい(といってもこれが出てきてもう数年経過してるのだけど)ことをすると、古いやり方と対立してしまうものらしい。なかなか新しい流儀というのは浸透しないものだし、新しいものが優れているというわけではないのだが、どうせ日進月歩ですぐに変わっていくのがこの業界だ。昨日の常識は今日の非常識にとってかわる。自分で好きなように書くほうを優先したい。

 それになにより、JWSで自動更新してくれるほうが楽ですよ。
手作業でDL&バージョンアップしたり、パッチ当てたりめんどくさい限り。
posted by おーさわ at 03:36| Comment(0) | アマテル開発日誌

2008年09月12日

回帰計算とアスペクト予報

 回帰計算や、出生天体に対するトランジットのアスペクトができる時期を求める機能は一応できた。予想通り操作感も非常に良い。ただしまだバグがあって、時々ある条件下では間違った結果が出る。
 しかし、どうも私が書いた部分にバグがあるのではなく、使っているAPI側のバグっぽく見えるが、安易にそう決めつけるとだいたい逆落としに合うのが法則だったりする。まぁもうちょっと様子をみる必要がある。

 うちの連れにいわせると、作るといってから、二〜三日するともうできあがっていて、あんたはいったい、いつ苦労してるのかさっぱりわからん。あそんでるようにしか見えないという。
 これでも結構悩んでいたりするんだけど・・・。実際にはひと月とか数ヶ月前から考えてる。考えてるだけだから傍目にもわかりにくい。それから寝てるうちに、勝手にできてくるというのもある。
 うんうん考えたあと寝る。すると起きたときには、そのままプログラムを書けるくらいまで仕様が固まってたりする。書き始めると早い。
 長年やってるので、コーディング技術はジョン・C・リリーがいう専門家的サトリの領域に達しているので(傲慢かまします)、書いてるときってほんとなやまない。スラスラ書ける。仕様固めが一番大変。

 前々からの懸案事項であった回帰計算系は、仕様面での破綻を回避でき、一応使えるようになったのでかなり安心した。一時は冷や冷やものだったのです。

 次は占星術辞書機能に取りかかる予定。強力な辞書があれば、だれでもあんちょこに占いのまねごとができるようになる。

 というわけでまた近日中にバージョンアップすることになるでしょう。
posted by おーさわ at 13:39| Comment(3) | アマテル開発日誌

2008年09月02日

次の目標

アマテルにはまだ回帰計算機能がない。計算すること自体は簡単なのだが、どのようなGUIによってその機能を提供するかで悩んでいた。実のところ今年の初めくらいから悩んでいたのだが、やっとこさひらめいた。これで回帰計算機能をつけることができる。

 アプリの製作ではGUIつまり操作体系の仕組みを考えることが、私には一番難しい。アプリの魂というのはこの構想仕様にある。使用する言語の種類や、ソースコードがどのような実装になってようがそれは些末なことだ。

 ところで、ひらめいたといったが、これについてはいつも感じていることがある。というのは、どこかに最初からそのアイデアは存在していたように感じるのだ。知識の化石として無意識の中に埋まっていて、ずっと集中して考えていると、その形が浮上してくる。そしてその通りに作った部分は、だいたいつねに正しい。
 しかし恐竜の化石発掘がそうであるように、少しずつしか表には出てこない。そのとき、「この骨の形なら、次はこっちにのびて、ああなっているに違いない」などと、自分の先入観できめつけて、ゴリゴリと実装を突き進めていくとすぐに行き詰まる。間違った発掘によって、保存されている形を傷つけ壊してしまう。最初から設計してかかると、かならずこのパターンに陥るので、私は途中で設計するのをやめた。発掘しているつもりで書くことにしたのだ。

 最近、スティーブン・キングの「小説作法」という本を読んだのだけど、なんとキングも「小説は化石のように埋まっていて、作家の仕事はそれを掘り起こす事だ」と書いてあったのでとても驚いた。
 小説の魂も、アプリケーションの魂も、哲学でいわれるところの「形相?」あるいは「イデア?」として、実はさいしょからどこかに存在しているように思えてならない。それをゆんゆん受信して書くのだ(笑)。
posted by おーさわ at 02:10| Comment(1) | アマテル開発日誌

2008年08月28日

簡易獣帯検索

search.jpg

アマテルに登録した大量の出生データの中から、指定された位置に天体がある人物を検索することができます。たとえば天秤六度をもった人物にはどんな人がいるかを、検索によって抽出できます。

 検索対象はフォルダ単位で指定。この写真では「有名人」というフォルダが選択されていて、そのフォルダとそれ以下のフォルダも検索対象になります。
 「どの天体が何度にあるか」を条件にすべての出生データの天体位置を検査し条件に一致したものが検索結果窓にリストされます。

 自分と同じ太陽をもった人々が96人見つかりました。この中で私が知ってる人はほとんどいないです。検索結果窓の中の「日付」をクリックしてソートして、自分と同年の人々を探すと、職業別に野球・卓球・俳優と三人いるようです。これだけ見る限りでは広義には芸能人ぽい感じかな。

 ちなみに検索結果窓を閉じたいときは、シャッターのバーの右端についている三角ボタンを押します。シャッターバーのボタンは3つあるのですが、適当に押してみればだいたい使い方はわかると思います。

posted by おーさわ at 22:53| Comment(2) | アマテル開発日誌

2008年08月11日

体脱に適した日を調べる

obe_graph.jpg
 幽体離脱には成功しやすい日としにくい日がある。
アマテルではそれをグラフ化して予測してくれる。
どうやって予測しているかというと、占星術を使っている。
 幽体離脱は古来より月の影響を強く受けているといわれるが、実際に天空にある月や太陽といった天体の位置から、体脱成功率を求めている。(詳しくはマニュアルを参照)。

 グラフは4つのリズムの総和で、「太陽、火星、月、個人」の四種類からなる。個人のリズムは、人それぞれ固有のリズムで、その人の出生年月日と出生地から求まる。これを入れたほうが予測の精度は上がるが、その人だけの予測値になってしまうので、ここでは除外しておく。
今回の説明はだれにでもあてはまるグラフで説明する。

 グラフによると12日の早朝から午前中がベスト。そのあとしばらく低調な日がつづくけど、次にねらうなら17日の早朝から午前中。
まあなにはともあれためしてみてよ。この時間を狙って体脱すればかなりやりやすいぞ。
posted by おーさわ at 03:04| Comment(0) | アマテル開発日誌

2008年08月10日

星座別グラフを表示してみる

graph.jpg

 アマテルを使うと大勢の人物を、出生サイン別にグラフ表示できます。たとえばデータベース(写真左下)から、数学者のフォルダを選択すると、右下に数学者一覧が表示される。今は123人登録されてるみたい。で、こんどは一覧の各データをすべて選択する。このときはシフトキーを押しながら、人物を選択すると複数まとめての選択ができる。
 ここでは数学者を全員選択状態にして、次に右クリックする。そしたらポップアップメニューが出るので、「送る」を選択して「新規チャート」とする。そしてら、チャートが中央に表示されるので、メニューバーの「機能(C)」から「星座分布グラフ」を選択。すると写真のようなグラフが表示される。

 数学者たちを出生の太陽別にグラフ化すると、魚座生まれが多いらしい。次は牡羊座。次は乙女座。全体的にながめると、となりあっている魚座と牡羊座にピークとする山ができている。反対側の乙女はいきなり増える。魚と乙女は対極をなしているサインで、このラインに集中が現れるらしい。

 乙女は計算能力だし魚はちょっと霊感がかったりして、数学者のイメージにはぴったりだ。
でも牡羊座はどういうことだろう?
春分前後に生まれた人は数学者に向いている人々が多いということかな?
あるいはただの偶然か?
もっともっとデータを増やせば、別のパターンに変化してしまうのだろうか?

 へたな説明しかできないが、職別にグラフ化してみると、一応漠然とした傾向があるように見えたり感じたりはする。アマテルを使うとたくさんの出生データを統計的にながめることができる。

 ここでは数学者の例をだしたけど、物理学者だとまた違ったパターンになるし、他のジャンルにはそれぞれちがったパターンがあるようす。
同じパターンをもつ別の職業というのもあって、その職業を比べるとどこか似てたりするなーと思えたりもする。

 ゴークランが占星術を統計的に調査したという話が、占星術業界ではよくいわれるけど、そういうことのまねっこが簡単にできる。

ただし厳密に統計で調べようとしたら、正確で信頼できるデータを膨大に集めなければならないし、統計についての詳しい知識が必要になるだろう。それは多く時間と人手がかかる大変な仕事に思える。
そんで、私はそこまでガチな統計占星学(?)とでもいうようなものをやりたいわけではない。
--------------------------------------------------------
蛇足
 それから今のとこ、この機能をたて続けに使うと、エラーが出て落ちることがあるみたいです。orz
( そのときは起動しなおせばなおります。 )
それから自分で説明してみて、案外めんどっちい操作法だなと。orz

posted by おーさわ at 02:48| Comment(0) | アマテル開発日誌