[sword-devel] checking in
Troy A. Griffitts
scribe at crosswire.org
Sun Jun 26 00:27:02 MST 2005
Hey guys. Sorry I don't have time to respond to all the discussion
going on, but I am happy that it is being discussed and pray for your
ideas and work!
A few brief comments.
I think the
ideas are great.
I don't understand or like the name of BookNew() :) It's not
camelCase, and I don't understand its need or purpose.
I don't think we should remove Testament (save renaming it to
get/setTestament() when we do that PCR)
I realize the TreeVerseKey work might need an additional level: $$$/Old
Testament/Genesis/Chapter 1/Verse 1/
but I think that's ok. Let a document put apocryphal books into the
'testament' they choose.
I once reluctantly read an article about rewriting code from scratch.
In the end I was convinced that it was in general a bad idea. I wish I
could point to the article and may dig it up, but his point that sticks
in my mind goes something like: all developers are, by nature, designers
and always look at code and think, what a mess, I could rewrite that
faster than learn how that works. Code that has been around a long time
has gone through invaluable time of testing and fixing. You may not
understand why things are done as they are, because you don't know all
the scenarios the code operates correctly under. All the little tweaks
for X to work while not breaking Y are expressed in the code, but not
easily evident. Rewriting code throws away all that knowledge and
So, in conclusion: I always push back when someone wants to change this
or that for not any pressing need, but rather for a 'better' design.
The grass is always greener, and in another coded perspective there will
exist just as many disadvantages, and unknowable difficulties.
Things are going great here! We just left Ancient Corinth and I learned
so much which directly impacts how I read Scripture! We're having a
Sabbath rest in Turkey before we explore sites here. I was without
internet last week, but don't know if I would have had the time to
engage with current online events even if there had been access.
Excited about what Daniel is doing in the Great White North and all the
talks about Windows developments, as well. I will still be the first to
admit that BibleCS stinks, in general, but with an HTML renderer and a
toolbar, I don't think we are far from moving to the top of the free
offerings of Bible software for Windows. We have a demo idea which
demonstrates custom window layouts, which is a little dated, but I still
think a good idea. I'm sure some old-timer can point to a binary on the
server for those interested.
Being IDE independent on the Windows side is a valid concern, in
principle, but choosing a windowing framework is as imposing.
Practically, our windowing framework and IDE choice for BibleCS goes
hand in hand and the tools are both free for opensource work. And I
don't like supporting the evil empire. :)
I really hope some of our other frontends become cross-platform. I
think that would be great. I also wouldn't mind other Windows-specific
projects with some other unusable framework like MFC, for example. :)
I think we still help eachother by pushing common code into the engine.
I would like to develop collaboration even more in the coming years by
adding a repository to the engine code tree where we can add code which
uses the engine to perform useful tasks, but are specific and don't
really belong in the core API. For example: A class which gives all
other translation decisions in a text for a given Greek word. Or, a
semantic domain class that uses a new sword module to either describe a
given semantic domain for a verse reference, or return a ListKey of
ranges for all occurances of a given semantic domain. Maybe a class
that calculates Greek word lemma occurances in a ListKey of ranges.
Things like this will provide a toolbox for future research of
documents. Imagine the Biblical text being marked up, or even all of
TLG, with semantic domains, and a student could click on a word in the
Text and be presented with a count of occurances of that word in each of
its semantic domains. Does the word 'site' mean something different
when doing Biblical archeology rather than browsing the internet? There
are a millions tools that could be developed for doing research like
this, and these tools could be selectively exposed in all our frontends
easily if there was a central place for them to exist.
Looking forward to the coming weeks, and to getting back to work with
you all soon! God is good and gracious to us! What a great combination!
More information about the sword-devel