Hi Melchior,

why do you take this to the -users list again, where it is obviously
off-topic as a development issue and after I had taken the discussion
where it belongs: to the -devel list?

The proposal as posted in my announcement was designed by a group of
developers, not just Martin and me. I just took the task of proposing
and defending it.

You might want to consider that the proposal was thoroughly pondered
before implementing it on the scenery side and publishing it. Our team
has experts on the relevant issues, ranging from databases and operating
systems to the concerned parts of FlightGear and the scenery process.

So as long as you do not _prove_ us wrong, there is no reason to
conclude that our proposal is nonsensical. I will show that what you did
is far from proving us wrong.

I am open to change the structure and even defend the change in the
group of developers who have designed it if the change does not
contradict the goal of the proposal and there are sufficient arguments
for a change weighing up the cost of additional risk and effort.

Not only are your arguments not sufficient, the largest share of your
change requests even contradicts the goal of our proposal. For the
benefit of discussion with _other_ FlightGear developers I will lay out
the arguments for this.

I might add that in some rare cases I share your sense of beauty w.r.t.
technical aspects of FlightGear, but this is not such a case and even if
it was, it would not be a sufficient argument.

I am full-quoting your mail, so all developers not on the users-list can
see what we are talking about. That should be also in your interest,
because your and my comments can now be found in additional places, so
you and I can occasionally point to it ;-)

Melchior FRANZ wrote:
> I give up. Let's just have the nonsensical directory layout.
> It's not the only bad design in fgfs, and I'm the only one
> who cares about it, anyway. But here's a final comparison
> for your entertainment (and for the archive, so that I can
> occasionally point to it ;-):
>
> Solution 1 -- proposed and defended by Ralf and Martin:
> -------------------------------------------------------
>     Airports/L/O/X/LOXA.ils.xml
>                   /LOXA.parking.xml
>                   /LOXA.rwyuse.xml
>                   /LOXA.twr.xml
>                   /LOXA.threshold.xml
>                   /LOXN.ils.xml
>                   /LOXN.parking.xml
>                   /LOXN.rwyuse.xml
>                   /LOXN.twr.xml
>                   /LOXN.threshold.xml
>                   /LOXT.ils.xml
>                   /LOXT.parking.xml
>                   /LOXT.rwyuse.xml
>                   /LOXT.twr.xml
>                   /LOXT.threshold.xml
>                   /LOXZ.ils.xml
>                   /LOXZ.parking.xml
>                   /LOXZ.rwyuse.xml
>                   /LOXZ.twr.xml
>                   /LOXZ.threshold.xml
> 
> Characteristics:
>  - lots of files per level (messy)

"lots of files per level" is the characteristics. "lots" is not a
quantifiable measurement and "messy" is your very personal interpretation.

Incidentally, "messy" is the only attribute in this point I can see
coming near to an argument against our proposal, again in the realm of
personal perception of beauty and therefore without any concrete
foundation except your personal taste. Your personal taste is not in
itself a sufficient argument for a change in this context.

I think we should rather be discussing concrete characteristics such as
validity, maintainability, performance and correctness. Wouldn't you agree?

>  - natural grouping done by prefixes, rather than directories (the latter
>    of which were invented for that purpose and come at *no* costs)

Just because it might not cost anything doesn't mean that it's better.

Window paint was invented for the purpose of painting windows and comes
at no recurring cost. Still it does not make any sense to me to paint my
windows if I want to have an unobstructed outside view.

Also the fourth directory level _does_ cost something. See below.

>  - tower abbreviated as twr (not saving *any* space)

Saving space might not be the only argument in favour of "twr", and even
without such an argument, I can see no important point against our
proposal here that would warrant a change.

> Technical argument:
>  - "it's too late, we don't want to change it anymore"

You might want to check your use of quotes, because they
usually indicate word-by-word quotations.

Neither can I be quoted that way nor did I say anything that implies the
meaning of the phrase attributed to me.

This is what I wrote:
> So if there is a strong argument in favour of the changes you proposed,
> I'm open to such a last-minute change, but otherwise I'd rather leave
> the structure as it is.

(http://sourceforge.net/mailarchive/message.php?msg_name=490CA168.40004%40custom-scenery.org)

This was the very first time I mentioned this constraint and did not
represent it differently afterwards.

Further what you obvioulsy are referring to was not a technical
argument, but of organisational nature, without the implication that
there are no technical arguments.

So your summary is incomplete and misrepresenting my argument.

Melchior FRANZ wrote:
> Solution 2 -- proposed by /me:
> ------------------------------
> 
>     Airports/L/O/X/A/ils.xml
>                      parking.xml
>                      rwyuse.xml
>                      tower.xml
>                      threshold.xml
>     Airports/L/O/X/N/ils.xml
>                      parking.xml
>                      rwyuse.xml
>                      tower.xml
>                      threshold.xml
>     Airports/L/O/X/T/ils.xml
>                      parking.xml
>                      rwyuse.xml
>                      tower.xml
>                      threshold.xml
>     Airports/L/O/X/Z/ils.xml
>                      parking.xml
>                      rwyuse.xml
>                      tower.xml
>                      threshold.xml
> 
> 
> Characteristics *and* technical arguments:
>  - directory per airport for natural grouping and clear layout

The assumption of validity of this argument in favour of your proposal
is based on the false assumption that a clear layout in the form you
want it would actually contribute to fulfilling the intent of the
structure proposed by us. This is not the case, to the contrary.

>  - consistent and logical: all ICAO/ID letters are treated the same way

Yes, your approach is consistent and it is logical _in this point_. But
still our approach is neither inconsistent nor illogical _in the whole_,
nor is yours logical and consistent _in the whole_.

"consistency" in the form requested by you contradicts the intent of the
proposal, but not because we'd want inconsistency.

>  - easy path creation e.g. in Nasal

However, "easy path creation" wasn't the goal of the structure. An even
easier path would have been "Airports/KSFO/*.xml" or
"Airports/KSFO.xml", but that would have contradicted the intent.

The intention was to create a poor-man's-index, relieving
filesystems of having to search through a directory with files for about
22k Airports, which often happens in a naive way with O(n) runtime
complexity.

The division of the information so that each file contains information
about only one airport was necessary to allow distribution of only those
airports with a scenery tile which are actually contained in the tile.

The index concept has some similarity to a B-tree
(http://en.wikipedia.org/wiki/B-Tree) in terms of structure, though the
balancing aspect and therefore some of the performance estimates do of
course not apply. Still, the general intention and the structural
aspects are in most points applicable to our index.

There is a point at which the index-partitioning becomes excessive and
doesn't bring any notable benefit in terms of the intent. This point is
reached after the third level in this case.

Otherwise we'd have a lot of directories with just a few files. In most
there would even be just one file, which is threshold.xml. This would be
similar to a single entry in a leaf node of a B-Tree, which for several
reasons is not allowed, except if the leaf is the root of the tree at
the same time.

In terms of size this would even mean that in many if not most
filesystems we'd have an additional directory using up an additional
block of the underlying block device just to store the meta-information
about a single file.

We'd have an additional block to be loaded just for finding that single
file. This would most probably not be weighed up by the benefit
introduced by reducing the number of airports files in the last
directory level.

So in addition to not bringing any benefit, the additional level would
also introduce additional recurring cost, contradictory to your assertion.

So this reduces it all to combining the files of one airport into one
file, which we already discussed and dismissed for reasons of differing
sources of information and which you did not propose in your "final"
comparison anymore. Even this wouldn't solve your path-creation-issue,
because we'd still have a three-level directory structure.

I'd like to add that "TWR" - like "RWY", which is used in "rwyuse.xml"
and which you have reused in your proposal above instead of e.g.
"runwayuse.xml" -, is a perfectly accepted and well-known abbreviation
in aviation. "ILS" or "GND" belong in this category as well.

So for me as a real-life aviator, twr.xml is actually beautiful. Again:
Not that beauty would mean anything in this context and not that the
naming is actually relevant for the structure.

To conclude:

Part of your proposal does contradict the intent of the structure. In
the places where it doesn't - only the names of the XML-files -, your
proposal is not superior to ours and the arguments for a change are
therefore not sufficient.

Therefore no change towards your proposal in your "final comparison" is
warranted.

I also see no further benefit or reason in letting myself being mocked
or talked down upon by you, so the discussion of us two about this
proposal ends at this point.

However, if anyone else has comments or criticism on the proposal, I'd
like to hear about them.

> Or maybe we should use prefixes instead of directories at other
> occasions as well, if that concept is considered superior.
> Let's see:
> 
>   $FG_ROOT/Aircraft/bo105.splash.rgb
>   $FG_ROOT/Aircraft/bo105.thumbnail.rgb
>   $FG_ROOT/Aircraft/bo105.fdm.xml
>   $FG_ROOT/Aircraft/b1900d.splash.rgb
>   $FG_ROOT/Aircraft/b1900d.thumbnail.rgb
>   $FG_ROOT/Aircraft/b1900d.fdm.xml
>   $FG_ROOT/Aircraft/concorde.splash.rgb
>   $FG_ROOT/Aircraft/concorde.thumbnail.rgb
>   $FG_ROOT/Aircraft/concorde.fdm.x ml
> 
> Yummy.  :-)

Probably not more to add but proposing the following layout instead:

  $FG_ROOT/Aircraft/b/o/1/0/5/splash.rgb
  $FG_ROOT/Aircraft/b/o/1/0/5/thumbnail.rgb
  $FG_ROOT/Aircraft/b/o/1/0/5/fdm.xml
  $FG_ROOT/Aircraft/b/1/9/0/0/d/splash.rgb
  $FG_ROOT/Aircraft/b/1/9/0/0/d/thumbnail.rgb
  $FG_ROOT/Aircraft/b/1/9/0/0/d/fdm.xml
  $FG_ROOT/Aircraft/c/o/n/c/o/r/d/e/splash.rgb
  $FG_ROOT/Aircraft/c/o/n/c/o/r/d/e/thumbnail.rgb
  $FG_ROOT/Aircraft/c/o/n/c/o/r/d/e/fdm.xml

Different goals, different solutions ;-)

> m.

Cheers,
Ralf
-- 
Ralf Gerlich              | World Custom Scenery Project
Computer Scientist        | http://www.custom-scenery.org/



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to