After thinking for quite a while whether I should ever get back to
this disgusting "party after the fight", I decided to do it
one more time, to straighten out a few essential things.
1) I find it remarkable that among the people who have started to
throw "stones at me", those who use the biggest ones, seem to have
little or no knowledge about Celestia's code structure. My defenders so
far, are rather from the other side...
2) Most of you are probably unaware that from this discussion with
Karen you have only seen the "tip of the iceberg". For days, we had
already an extensive private email discussion going on. It was much
less "emotional" than the one in public, as you can see from a
typical, detailed letter I wrote her (cf below).
3) I should mention also that I am usually a diligent person. Before
making any jugements, notably in public, I take care to check
first, whether I can justify my claims. So I installed and tested
Karen's patch of course, and subsequently went through her code and
the so called "improvements" carefully. In a number of cases my own
conlusions agreed with Grant's above while there were significant
other reasons of disagreement with Karen's approach that Grant did
not discuss. These detailed findings where at the basis of my
criticism.
3a) Who of you "stone throwers" went through similar steps to form
your /own/ opinion about the real issue of the discussion? It is so easy
to remember "old bills" to be paid back in such coherent "stone
throwing events"...
4) Already last Sunday night, long before the "public fight" started
in this thread, I was about to give up my correspondence with
Karen, since there was no constructive progress whatsoever in our
discussion. I felt tired and also run out of time. So I handed our
entire correspondence over to Chris, who was in vacations. Here is
the start of my letter to Chris (note the date):
> Subject: Karen Pease...I am giving up;-)
> Date: Mon, 14 Jul 2003 01:13:54 +0200
> ...
> Chris:
> I am giving up! Can you handle her?
...
> If you do not watch out, you will not recognize Celestia anymore
> within a week or two;-).
> I just send you this "bulk" she generated within 2 days.
In his answer, Chris backed up most of my concerns about Karen's
proposed changes. Since Chris is the project leader, it is much easier
for him to block the discussion before it can reach this unpleasant
stage, but he was online only occasionally because of his vacations.
5) So here I display most of a typical letter, I wrote to Karen last
Sunday, July 13th, /before/ the public escalation took place. It's
for you to judge its style...[I just left out a few more personal
details.]
Karen:
> Ah, sorry. I don't have a CVS account. Is there anything special
> that I need to do to get access?
The CVS developing site is on SourcForge
http://sourceforge.net/projects/celestia
You do not need a CVS account on the level of patches. Only the "official"
developers that you can look up under "Developers [View members]" in the
upper right of this page, are authorized to write (commit) code into the main
Celestia archive.
...
You can browse the CVS archive interactively, display the diffs of particular
patches etc by clicking "Browse CVS"
And you can /download/, of course, the latest CVS archive code for writing
patches or building and running the latest Celestia executable. You must
install CVS on your machine, read the manual and look up the commands how to
do the download/code update. Are you developing in Windows or Linux? It was
Red Hat, right?
There is also a developers mailing list over which we usually do most of our
discussions on further steps to be taken. All major new implementations of the
code are discussed among us first.
"Celestia Developers" <celestia-developers@lists.sourceforge.net>
This would also be a good place for circulating new patches.
In any case we all practice a certain careful and conservative attitude before
checking in new code.
...
Now turning to your detailed replies...
I can see your patch addressing several distinct issues /at once/ which makes
its discussion somewhat more involved. It is usually better to keep things
"apart":
1) Improvements in accuracy of certain values of parameters that do not involve
entering new physics/math formulations or approximations. This includes
spotting and replacing wrong values/typos etc as well.
2) Implementing new physical formulae that allow to /compute/ certain physical
data of celestial bodies from other available data.
3) New code that leads to new features in Celestia, like your verbose info
display.
Indeed, since about half a year, Celestia development has also entered a
second "maturing" phase, where we go through the code and the
underlying formulae again carefully and try to eliminate inaccuracies,
bugs, /and/ "phantasy".
This also happend on the level of "limit of knowledge" masks for our textures
that may be toggled ON|OFF.
Grant has been doing lots of work in the direction of tediously adjusting the
texture meridians and checking orbit parameters against our official resources
like
JPL's HORIZONS System (Ephemerides and orbital elements for more than
100,000
objects)
http://ssd.jpl.nasa.gov/horizons.html
An excellent compendium you also find on Selden's pages.
We have jointly worked hard to eliminate all sorts of bugs until the delicate
mutual events were as accurate as they are now! I have recently introduced a
CPU-friendly "compromise" scheme to account for the light-travel delay when
timing precision events.
Any contributions in category 1) that spot and eliminate inaccuracies are
certainly most welcome, as long as the changes undoubtedly represent
/improvements/.
In case of "improvements" in category 2), however, I would certainly first want
to see a clear astrophysical discussion of the range of validiy of new formulae
involved as well understand its "derivation". Empirical relations that just
"happen to fit" certain data, I consider far from ideal.
In category 3) we usually discuss jointly the usefulness and design of any
proposed changes, notably if new classes have to be added etc. In case of
more extensive changes, patches are usually circulated for all of us to try out
first.
Concerning your new verbose data displays, I really would like to know from you
first, whether our /existing extensive info feature/ is correctly installed on
your system such that clicking on any
star, galaxy, cluster...:
-------------------------
opens the professionally authorized /Simbad/ site in your browser for that
object: containing further Java tools to display various additional specialized
catalogs, measure star distances, produce brightness histograms besides most
extensive spectral, temperature,... info!
e.g. like so
http://simbad.u-strasbg.fr/sim-id.pl?pr ... HIP%209487
planet, moon:
------------------------
opens
http://www.nineplanets.org/...
again with vast quantitative and official info and explanations.
similarly with asteroids and comets...
----------------------------------------
What can you really improve over this /modular/, professionally authorized and
automatically updated info data base system?
Certainly hardcoding such data into Celestia's core engine, I would consider a
"significant" step /backwards/!
If the presently incorporated feature does not work for you as described, I
would advice like a few days ago already, to first get to know Celestia a
little better, ...
Finally, concerning an implementation of gravity effects, this should be done
(if at all) via an /add-on design/ in order not to mix-in largely incorrect
physics ...If you want to account for /joint/ gravitational effects of several
competing bodies like in case of a spacecraft maneouvering in the jovian
system;-) you will soon realize that you badly run out of CPU resources, if it
is to be done /right/. You sure know that the inhomogeneities of the
gravitational field of jupiter due to its /non-spherical/ shape already
significantly affects the orbits of its moons. Now consider a spaceship of a
small mass in this "gravitationally polluted" jovian environment;-)...For
spacecraft etc. we do have implemented the so-called xyz orbits that can simply
be generated from NASA Horizons for arbitrarily fine time steps...cf. eg the
delicate Galilei-Amalthea encounter...
Karen, I hope, you will be reading and interpreting this mail in the right way.
It is certainly meant to be an encouragement rather than the opposite. But
Celestia would not be what it is, if its coding so far would have been done too
hastily...
Did Chris and|or Grant already respond about your patch? Chris is off for a few
days of vacations at present, but he carried his Laptop along.
Bye Fridger