Login to participate
  
Register   Lost ID/password?

Louis Kessler’s Behold Blog

Genlighten Notices Me - Mon, 25 Jan 2010

I’ve written this blog on a regular basis for many years. I’m not really sure who the audience is, since we’re talking not about just genealogy, or genealogy software, but programming and all that I’m involved in regarding Behold.

So it’s really nice when someone else can write up what my blog is about even better than I can.

Dean Richardson at Genlighten did just that. In his January 22nd Follow Friday post, Dean writes about “Behold Genealogy and Louis Kessler’s Behold Blog”.

Dean writes:

I have a lot of admiration for Louis’ openness, persistence, and pride in his craft. You won’t find a lot of details of Louis’ genealogy research in his postings, but you can tell he’s channeling his love and respect for his ancestors into his software development efforts.

Well that makes me feel all warm and fuzzy inside. Thanks very much, Dean.

To read Dean’s entire post, pop over to the Genlighten Blog.

Version 0.99.6 beta Released - Sun, 24 Jan 2010

I decided it was important at this juncture to change the data structure to include the GEDCOM data exactly as it is in the file and to change the structure from lines-based to records-based. Previously I had taken some shortcuts and internally modified some of the GEDCOM lines to make processing easier later. I would concatenate the lines, convert the character set, change @xxxx@ link references to addresses and more. But that then gave some sort of GEDCOM monster that was no fun to work with.

Not doing that will make it much easier to input and store the data and then later export it back out to GEDCOM. It will make the internal data structure of Behold a truly GEDCOM record-based structure. For some reason, some genealogy programmers think this is good. Personally, I see advantages and disadvantages to it, but the bottom line is “it’s convenient”.

It took a while (hey: a while is now just “a week”!!) to make these changes. Over a year ago, I had tried to implement them, but I bit off a bit more than I could chew, and the program was too complex to rebuild using that data structure so I had to abandon those improvements.

This time, I started with a working version and kept it working as I made the changes one by one. This method worked much better, and the knowledge of where I was going as well as having a prototype of the code already available made this second attempt a success. There are a few small things that I haven’t yet converted over, but those I’ll get done for the next beta. Most people won’t notice them.

Because of this major change, I do expect some bugs. The tests I have run are working, but I expect the real world will find others. You’ve all been great at uncovering new problems for me to fix. Really, do send me them. It’s the only way I can ensure that Behold becomes as bug-free as possible.

And that last version 0.99.5 did have some nasty problems that some people uncovered. I believe this version has fixed almost all of them. So I highly recommend upgrading to 0.99.6.

For a complete list of the changes in this version, see the Behold History page.

Stability is the Beta key - Sun, 17 Jan 2010

What I’m working towards in these first few Betas is Behold’s stability. By that, I mean Behold should never crash. It should not result in a system error that prevents Behold from continuing which may require you open Windows Task Manager to stop it.

These system errors are called “exceptions”. The last alpha releases were very stable. I had over the years trapped or fixed every crash point I found. But the major changes between the last alpha and the first beta (virtualizing the Everything Report) have added some new ones. Also I’ve added an “exception” handler into Behold to catch not just the ones that Windows reports, but an even wider range of errors that previously went unreported or unnoticed. This is also allowing me to correct some code that I never knew was wrong, and that is good.

Then I also added the exception reporting mechanism, which brings up a custom screen and allows the user to send me the error message. At first it was quite onerous, but I think I’ve since fixed that and made it minimalistic and easier to use. The number of crashes I’ve been encountering have been going down, and so have the numbers users have reported to me (thank you all!).

Fairly soon (one or two beta releases from now), Behold should be back to being as stable as the alpha was. Once it’s there, I’ll finally feel confident enough in it to take the next step, send out the Behold News newsletter, and invite the world to try the beta (… and raise the price).

Yes there’s still lots of small things to fix, enhancements I want to make and unknown bugs left to find. I’m whittling away at those and will handle them rigorously when I start to redo the help file. We’re getting there.