2010年10月14日

また電子証明書の期限が切れたらしい

 またアマテルの電子証明書の期限が切れてしまったようです。また警告ダイアログが出ても、そのまま先にすすめば起動しますが。
 クロスプラットホームのインストーラを用意して、電子証明書やJWSとエンガチョするつもりだったのだけど、仕事がいそがしくて今年はまったく手をつける余裕が無かったです。でも忘れているわけではないです。
 そろそろ新しいマシンを調達してWin7に移行したい。今だにWin2000でXPすら使わずに過ごしてしまったけどそろそろ限界。移行したらWin7やVistaの問題にも手をつけることができる。
posted by おーさわ at 10:23| Comment(0) | アマテル開発日誌

2010年01月09日

内部構造へのゲートを開こう

 JWSだと、プログラミングやOSの知識がある人がいても、いじりたくてもいじれない。
 オープンソースでやってるくせに、初っぱなの入口をJWSで難解にして閉めているわけで、これでは入りようがなかった。ごめん。
 私はアマテルの内部構造に入ってきてくれる方を待っていたのに。

 1.JWSに加えて手動インストールもできるようにする。
 2.配布の手間も最小限で済むようにすること。
 3.レジストリ登録の問題を回避するよう修正すること。

 この三つを解決するのが最善かと思われる。
 実は3を修正するだけで2,1の問題は自動的に解決する。
 最初からアマテルはそのようにできているから。
 もしJWSではなく、ローカルで起動した場合、3は自動的に解決するかもしれない。(なぜならJWSで動作したときのセキュリティマネージャがブロックしているのかもしれないから)。
 となると3の修正も必要なくなるかもしれない。
 あとはプラットホームごとのインストーラを作ればいい。
 各プラットホームをもっている誰かが作ってくれないかと甘いことも考える。Macをもってる人はMac版のインストーラを作るとか。
 各インストーラができたら、JWSは使用をやめる。

 まず最初にすることは、手動インストールの説明書を書くことだな。これだけで全部解決するかもしれない。公開しているソースにはコンパイル済みの、バイナリも入っている。

 やっと見えてきた。
posted by おーさわ at 01:06| Comment(3) | アマテル開発日誌

2010年01月07日

クロスプラットホームのインストーラを発見

izPackというクロスプラットホーム対応のインストーラがあるらしい。
これを使うとJWSを使わずにアマテルを配布できる。
自由度は高くなる。
だいぶ話は簡単になりそうな予感。

 それと、このようにやり方を大きく変えた場合、すでに使っているユーザ全員に告知メールを送るようにしたい。
 メルアドはダウンロードの際、登録していただこうかな。
posted by おーさわ at 02:34| Comment(5) | アマテル開発日誌

2010年01月06日

Vista,Win7で起動しない問題

 原因ははっきりしてるので、アマテル側でそれを回避するようにすれば解決する。
 しかしVistaで動いている例もあるので、それならなにかOSやJREの設定で解決する問題にすぎない可能性もある。しかしその解決法はみあたらない。情報が少なすぎてわからない。

 そもそも私はいまだにWin2000を使っていて、Vistaどころの話じゃない。もうそろそろニューマシン&ニューOSに移行したいのだけど、まだ先立つものが無い。動作環境がないのでVistaのチェックができない。

 それからJava WebStart。マルチプラットホーム対応の便利なデプロイメント(インストーラ)だけど、強制アップデートしてしまうとか、得体の知れないエラーを出すときがあるとか、ショートカットアイコンが消えたり化けたりするわ、高価な電子証明書を必要とするとか、それがないと安全じゃない危険だとわめきちらすは、ほんとに始末が悪い。

 もう手作業でインストールしてもらって、ショートカットも自分で作ってくださいという方式にしようかな、などとも考えてしまう。
 ちょっとめんどくさいけど、難しいことではないし。
 ファイルの置き場所も自由に変えられるし。
 古いバージョンで満足の人はそのまま使い続ける事もできる。
 動作もさらに安定する。

 どうすか?
posted by おーさわ at 02:43| Comment(3) | アマテル開発日誌

2009年12月20日

アマテルVer1.5.0bをリリース

 今朝、最新版をリリースする作業をしていたのですが、予想外のトラブルに見舞われて、手こずっていました。
 夜中の3時ごろから、およそ5時間ほどの作業になりましたが、その間にアマテルを起動した方、落っこちたかもしれません。ごめんなさい。
 それから天文暦やマニュアルが再インストールされるかもしれません。余計な時間をとらせて申し訳ないです。
 計算設定&スキン設定の選択がリセットされます。設定データはそのまま残っているので再選択してください。

更新情報
 ・アラビックパーツ機能を追加した。
 ・起動中にスプラッシュウィンドウを表示し挺進バーで起動状況を表示するようにした。
 ・アマテル標準辞書の内容を最新版に更新。
 ・今ボタンでトランジットチャートを表示した際に、進行法が表示されるバグを除去(トランジットチャートに、進行法の表示は不要だから)。
 ・異常終了(停電とか、ハングアップとか)が発生したとき、設定ファイルが破損して起動できなくなるバグを除去。
posted by おーさわ at 10:09| Comment(0) | アマテル開発日誌

2009年11月13日

アマテルのダウンロードページを修正

JREの環境が整っている方のみ、インストールできるように修正。
JREがインストールされていないとか、JREが1.6ではなく1.5とか、JavaAppletやJava WebStartを禁止に設定しているとか、そのような場合は、インストールボタンも表示されない仕様にした。
またインストール前にライセンスに同意を求めるようにした。
posted by おーさわ at 23:47| Comment(2) | アマテル開発日誌

2009年11月12日

掲示板のスパム対策

スパム対策のため、掲示板への入口に認証制限を設けました。
といっても、ユーザ全員にアカウントを発行するのではなく、共通のIDとPW(パスワード)を入力してもらうだけです。
つまり認証の意味は無いのだけど、スパムボットには有効なはず。
破られたらそのときは、また別の方法を考えます。
posted by おーさわ at 17:15| Comment(0) | アマテル開発日誌

2009年11月03日

エクスポート機能を改善

exportdialog.png

 操作性とエラー処理に問題があったので、各モジュール(チャート)の設定情報をエクスポートする部分を作り直した。モジュールごとに保管先フォルダを記憶できるようになっています。
 書き出されるファイル名は、"設定名.xml"で固定。どうしても名前をかえたいときは、「設定の整理」ダイアログから行うか、書き出した後でExplorerなどで後からリネームすれば良いという考え方。
 ただし書き出されたファイルの名前を変更しても、その中に書かれている設定名は変更されないので注意。
 まだリリースはしてないけど。
posted by おーさわ at 08:49| Comment(0) | アマテル開発日誌

2009年10月27日

開発中のアラビックパーツ表

arabic.png
開発中の「アラビックパーツ表」。
自分でお好みの計算式を登録できます。
感受点やアスペクトをクリックしたときのキャプション表示。
サビアン辞書や、アマテル辞典と連動。
ネイタル、プログレス、トランジットの三種類のチャートを表示可能。
検出アスペクト、ルーラー決定法などは、おなじみの方法で、カスタマイズできる。
だいたい4日程度でここまで来た。
土台ができてるから、この程度のものは比較的早く作れます。

posted by おーさわ at 03:25| Comment(1) | アマテル開発日誌

2009年09月05日

ニワトリカウンタがちょうど1000人になった

 めでたし!
 千人も使ってくれている人がいるのはうれしいことです。 
 仕事は一段落ついて、またアマテルの作業に復帰してます。
 アマテルの開発はストップしていたので、あれからなにも進んでいないのだけど、近いうちに辞書を入れたものをリリース予定。
 それがすんだら、あれこれと新機能をつけていくつもり。
 やはりアマテルは年の終盤に作業がはかどるらしい。

 それから、ボイド時計を製品化したいなー。
 組み立てキットや、ハンドメイドで販売するのはどうか、などと考えてもみたけど、それは不可能な話だった。
 故障したときの修理、サポート、山ほどの在庫の保管場所など、とてもじゃないけど個人でどうこうできる問題じゃない。
 やはりどこかメーカーと結託して……
posted by おーさわ at 02:13| Comment(0) | アマテル開発日誌

2009年02月28日

アマテルの辞書機能がだいぶできてきた

dictscreen.pngアマテルに辞書を組み込み、天体選択と連動するようになった。
(肝心の辞書の中身はまだ。(笑))
チャートを読みながら、思いついたことをその場で天体位置やアスペクトに関連づけながら登録していくことができる。
残すところは、本の新規作成機能と、本文の検索機能。
まだもうしばらくかかる。

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

2009年02月22日

辞書機能とアマテルの連結

 辞書機能は、はじめアマテルとは切り離して新しいアプリを書くように作っていたが、その状態で最後まで作ろうとしても、一定ラインをこえると作業テンポが落ちてきて煮詰まり状態になった。辞書はチャートを見ながら操作するものなので、「チャートからこのようなクエリーが来た場合は、このように動く(該当ページを表示する)」という部分を作る事ができないのだった。
 このような場合、擬似的にそういうクエリーを出すテストプログラムを作るものだけど、それは用が済んだら不要になるプログラムで、それを作るのは時間的ロスが多い。
 というわけで先にアマテルに組み込んでしまうことにして作業を進めてきたけど、組込作業は2日ほどですんでしまった。チャートの天体をクリックすると辞書が応答するのを確認。トンネルを両方から掘り進んで、とうとう双方が連結したような感じに見える。

 リクエストに応じたページを表示する機能(検索機能)はまだできていない。これを作ろうとして煮詰まっていたのだけど、トンネルが開通すると、頭の中にバーッと次にどう書けばいいかイメージが湧いてくる。物作りってのは順序が大切だなとつくづく思う。柱を立てる前に屋根を作ることやドアを作ることはできない。逆にいえば煮詰まる時というのは、あせりすぎて順序が見えなくなってる時らしい。
posted by おーさわ at 09:17| Comment(0) | アマテル開発日誌

2009年02月21日

コード行数をかぞえてみた

コメントや空白を除去してカウントして5万7千行になっていた。
ずいぶん増えたなぁ・・・。
前にかぞえたときは4万行程度だったはず。

辞書は予想以上に難儀している。
XMLを初めて導入したのと、様々な占星術に対応できるようカスタマイズ機能をつけたのが原因。カスタマイズ機能は実装しても、まだしばらくはそれを使う必要がないので、ちょっとオーバースペック。
でも辞書機能はアマテルの中でかなり重要な位置づけなので、あまり手を抜くわけにはいかない。

3〜4ヶ月ごとにバージョンアップしたいと考えているけど、大物に手をつけると、どうしても間に合わないこともある。その間にもこまかなバグ修正やリクエストに応える必要もでてきて、両方を並列でこなせると良いのだけど、一度集中はじめてしまうとなかなか難しい。
そういえばニワトリカウンタもまだバグが残したままだし。
なおさなきゃ。
posted by おーさわ at 03:29| Comment(0) | アマテル開発日誌

2009年02月18日

サポート掲示板を置いてみた

アマテルに関する事であればお気軽に書きこんでください。
http://tetramorph.to/support/
posted by おーさわ at 23:29| Comment(0) | アマテル開発日誌

2009年02月04日

辞書がだいぶできてきた

辞書機能の登録編集機能がほぼできあがってきた。階層ツリーでDnDで操作できるインターフェイスを作ったが、やたらとめんどくさかった。これはアマテルの出生データベースのときにも感じた事だが、階層ツリーのGUI部品を使いこなすのはかなり難しい。一度やってることなのだから少しは楽にできるかと思っていたけど、この部分はあまり楽にならないというか、慣れないというか。そんなわけで力まかせにエイヤッと押し切って、多少ごちゃついたコードになったが、まぁだいたい収まりはついた。これで全体の七割程度ができたといえる。

 これまで辞書機能はアマテルと切り離して開発してきたけど、そろそろアマテルに組み込み、プラグインからのリクエストに反応する仕組みを実装していく。今まではデータの編集機能、つまり登録、削除、更新、閲覧、コピー、移動、ファイルへの保存と読みこみといった部分を作ってきたが、次は検索機能をつける。リクエストに反応するのは検索機能だ。プラグイン(基本ホロスコープ等)からは、「五室・太陽・水瓶・10度」といった情報が辞書に送られてくる。これが検索キー。辞書の各ページには、そのページがどんな情報に反応するかが設定できるようになっている。辞書プログラムはプラグインからのリクエストを見て、登録されているページを一つずつ調べていく。
そして「5室・太陽」という情報に反応するように設定してあるページをみつけると、そのページを拾い上げて表示する。また「太陽・水瓶」とか「水瓶10度」に設定されているページも同様に拾い上げる。そして抽出したページの内容を整形して表示する。
posted by おーさわ at 00:22| Comment(2) | アマテル開発日誌

2009年01月28日

旧暦正月も明けて

 旧暦のお正月が明けた。今年もそろそろ動き出す。
今日またgoogleで「占星術ソフト」で検索してみると、アマテルのページが最初の一ページ目に来ているのを発見。「アマテル」で検索すると二位。予想以上に早く順位が上がったので驚いている。ニワトリカウンタを見ていても、少しずつ順調にユーザ数は増えていってるようす。

今年のアマテルは、占星術のための統合環境と呼べるところまでもっていきたい。
バージョンナンバーからβがとれるのはいつかな。
(当分、取るつもりもないけど)。
posted by おーさわ at 16:33| Comment(0) | アマテル開発日誌

2009年01月21日

三十八万個の小惑星をプロットしてみた

asteroid.png

 小惑星の計算をやったついでに、三十八万個の小惑星カタログを視覚化してみた。太陽を中心にした座標系で、目安に他の惑星の軌道も表示している。小惑星の位置は日心黄道直交座標で求まるが、この図ではZ軸は無視している。
 小惑星の大半は火星と木星の軌道間にドーナッツ状に分布している。大きさも無視していて、小さいものも大きなものも1ドットの点で描画。実際の宇宙空間を図にした場合、たぶん火星や木星といった天体が1ドットで、小惑星の大きさはその千分の一、万分の一といったスケールになるはずで、この図はかなりデフォルメされたものだといえる。

 それにしてもすごい数の小惑星があって、しかもよくみると地球の軌道上にもわんさか存在していることがわかる。巨大隕石が地球に衝突という話もまんざら嘘ではないらしい。カタログの中から、地球の軌道に近いものだけを抽出して、時間を変化させながら地球と小惑星間の距離を調べて、ぶつかる可能性の高いものをピックアップしてみたくなるが、本当にぶつかるのかどうかとなると、そう簡単には分からない。宇宙はむちゃくちゃスケールがでかいので、おおざっぱな計算では歯がたたない。

 余談だけど、木星や土星に行く探査機は、この小惑星ドーナッツ地帯を抜けていく。だけどただ突っ切っていくだけ。小惑星がたくさんあっても、すき間はふんだんにあってスカスカなの。だからめったにぶつかったりしない。

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

2009年01月14日

紫微斗数だの小惑星だの

 辞書機能を作っているところだが、作業量が多くてそんなに早くは作れそうにない。
他にもサポートしたい機能がいくつかあり、それの基礎技術を確立しておこうと、辞書からちょっと脱線して他の作業をしている。(水星の逆行がはじまったので、猪突猛進型で先に進もうとしてもうまくはいかないだろうし)。

 一つめは紫微斗数。紫微斗数は単純な表参照だけで作れてしまうのだが、その表は旧暦用に作られている。旧暦を求めるプログラムはちょっと難しい。しかし旧暦干支九星APIはすでに完成していてミチテルに使っている。だから難しくはないのだけど、紫微斗数には表が20種類くらいある。それらを一つずつ作っていくのは単調な根気仕事。とりあえず命宮と身宮を求める部分を作って、まぁこんな感じねと納得。
それから旧暦干支九星APIを使って気学のプラグインも作れると思う。

 アマテルのユーザを増やすという観点からは、西洋占星術のマニアックなメソッドに対応していくより、占いジャンルを増やすほうが有効だろうと思っている。
アマテルは西洋占星術専門のソフトではない。

 二つめは小惑星。少し前にたくさんの小惑星に対応してほしいというリクエストがあった。四大小惑星とフォーラスはスイスエフェメリスでサポートしているけど、他のものとなると軌道要素から二体問題の式を使って計算することになる。
(スイスエフェメリスはオプションの小惑星天文暦が用意されていたような、いなかったような・・・、また後日調べてみよう)
二体問題を計算するプログラムは、もう10年近く前に書いていたのだけど、当時はJavaをはじめたばかりで、ずいぶん醜いプログラムだったので書き直した。

 天体には軌道要素という数個のパラメターが決められていて、その値を式に入れて計算すると、時刻における天体の位置を求める事ができる。軌道要素は天文年鑑などに一部載っているが数は少ない。ネットを調べたら、冥王星を惑星の地位から叩き落とした国際天文学連合(IAU)が監督している組織からデータファイルが提供されていた。
 データファイルのフォーマットを調べて、75MBもある巨大なファイルをPerlで少し調べてみた。なんと382137個の小惑星が登録されている。Itokawaも入っているし、Kamikouchi,Nakashima,Miyazawaseiroku,Yumiko,Koichiyukoなど日本人らしき名前のものも多数。ニュートンの著書からとったのかどうかは不明だが、Principia(プリンキピア)というのもある。そいからAhoというの目についたけど、日本語じゃないと思う。多分。
 名前がついているのはわずかで、ほとんどは"2002 EA98"といった記号名がつけられているだけ。38万個もあると地球の神様や天使の名前ぜんぶもってきても足りないかもしれない。そしてこれからもまだまだ増えていくはず。

 ところで私は小惑星を多用した占星術を知らない。「Yumikoが乙女座にいるから、あなたは・・・」などと占うのかな。原理的にはなにか神話上のキャラの名前がついていて黄道十二宮を回っていれば占いはできるわけだけど、ぶっちゃけ当たるのかしら?(野暮なこと言うなって?笑)

 個人的には四大小惑星があれば充分すぎるほどなので、その他の小惑星対応へのモチベーションは低い。なにかはっとするような知識に出会うとか、大きなニーズがあるならその気にもなるけど、それが無いと今のまま放置すると思う。
posted by おーさわ at 06:26| Comment(0) | アマテル開発日誌

2009年01月02日

ニワトリカウンタがバグったorz

年があけたら、アマテルのニワトリカウンタが表示されない。
少し気にはしてたんだけど、やっぱりカウンタ用CGIがバグってるようす。
アマテルの他の動作には不都合はないので気にしないで。
近日中になおします。
posted by おーさわ at 13:16| Comment(0) | アマテル開発日誌

2008年12月26日

辞書機能

dict.jpg
 アマテルの次の目標は辞書機能。辞書は本のようなものだから、このようなデータは階層ツリーで管理するのが理想的。章があり段落があり、というような構造だから。
 アマテルに組み込む辞書は、占星術機能と連動してナンボなので、ホロスコープのシンボルやアスペクト線をクリックすると、該当ページが表示されるようにしたい。複数該当する場合は、それを列挙して選択できるようにもしたい。
 がしかし、アマテルは様々な占術メソッドに対応していくつもりなので、基本ホロスコープの辞書だけがあれば良いわけにはいかず、様々なメソッドに対応できる汎用的な辞書を用意したい。汎用化するには、占術メソッドを実現するプラグインと、辞書の間に一定のプロトコルを決めて、それを定義ファイルに宣言することで、辞書はその宣言に従い自身をカスタマイズする機能が必要になる。
 また作成した辞書は、ファイルに書きだしインポート/エクスポートする機能も必要。アマテルで辞書を作って、それを公開してユーザ間で共有することもできるし、その辞書を本につけて販売することもできる。占い教室でもその教室固有の辞書は必要なはずだ。

 このような複雑なデータ構造を扱う場合、SQLを使ったテーブル型のデータベースよりは、XMLのほうが有利だったりする。そんなわけでXMLを勉強しながら、色々実験をくり返しながら制作している。

 アプリケーションとしてみたときは辞書エディタで、そんなに複雑なものには見えないのだけど、やってみると案外めんどくさかったりする。登録機能を付ければ、とうぜん削除機能もいる。内容を更新する機能もいれば、リネームも必要だし、コピーや移動や検索や・・・というように、最低限必要な機能だけでけっこうな数になり、それだけ作業量が増える。
 一番難しいのは、先にあげた操作をどのようなGUIで提供するか、そのデザインと遷移をどのようにするかを考える事だったりする。GUIというのはほんとめんどさい。精密な機械部品を組み立てるような作業で、後から仕様変更があってもそう簡単に変更することができない。実験感覚で気軽に作るということができない。実は制作のほとんどが、これの時間で食われてしまう。だが最初からすべて頭の中で完全な設計を行い実装する、なんて芸当は実はできなかったりする。
そういうことが可能なのは、二番煎じ、三番煎じの制作の場合で、すでにひな形となる製品がある場合に限られる。

 結局は作っては壊し、作っては壊しの繰り返しをへて、やっとこさ形ができてくる。設計図は、実はその後からできるものというのが実状だったりする。辞書を作り始めてひと月ほどは、そういった実験作業ばかりだった。まぁ、だいたい基本的な仕様は固まってきたので、これから作り込んでいく作業にとりかかる。
posted by おーさわ at 06:13| Comment(0) | アマテル開発日誌