Login to participate
Register   Lost ID/password?
Louis Kessler's Behold Blog » Blog Entry           prev Prev   Next next

Why Completing the Programming of Something New Always Takes Longer than Planned - Sat, 7 Mar 2015

It’s that unexpected exceptional case that you (of course) never expected, but then happens.

I’ve been working hard the last couple of months to finish Version 1.1 of Behold. I’m so excited about it and I’ve effectively finished putting in everything I want to put in. I’ve been running through my test cases to ensure it all works it should.

My counter on my phone says that today is the 19th consecutive day in a row that I’ve worked on Behold since back from holidays. For 3 weekends now, including one before I left on holidays, I was expecting to announce that this version was ready. That’s 3 weekends now that one or more of these unexpected exceptions has occurred that has prevented the release. This latest one, which took me 5 days to resolve, is an excellent example. With it you’ll see some of the great information that Behold’s Everything Report will give you in Version 1.1.

While testing my own GEDCOM file, I came across this:


This is my father’s stepfather (who I’m named after) who’s first wife died and, as was traditional in those days in the farming communities, widowers needed a wife, and he was quickly matched up to my father’s mother Goldie whose husband passed away 4 years earlier. They married less than 5 months after Louis’ wife passed away.

So what’s wrong here. The first thing I saw above that was wrong was that at Louis’ death, it is saying that he was widowed 11 years. That is not correct. He had married his 2nd wife and was married 11 years, not widowed, when he died.

The second thing I see wrong here is that Sarah is marked as Wife 2 and Goldie as Wife 1. They are shown in the correct order but are numbered wrong.

The third thing wrong was that Sarah’s death was not shown.

It took 3 days inspecting and debugging my code before I thought of looking in the GEDCOM file that contained the data. Sure enough, Louis’ two FAMS records that represent his marriages are listed in the incorrect order of Goldie first and Sarah second. I already had included a check in Behold to ensure that marriages in the GEDCOM file are in correct marriage date order. Most genealogy programs do output these records correctly, but Behold will issue a warning if they don’t. And then Behold will fix the order.

I had a puzzle.

Why didn’t the order get fixed? Well, the marriage date with Sarah was unknown. So Behold couldn’t fix the order.

Why then was this still a problem? It was because the spouse of the last marriage had died, so it displayed Louis as a widower.

Why was wife 2 listed first? Because there was no marriage date and I had a slight bug that didn’t order the marriages correctly in that case.

Why didn’t Sarah’s death show up. That’s because if Sarah was married second, then it was after Goldie’s marriage. This means that Sarah’s death was before Goldie’s marriage which was before Sarah’s marriage and I put smarts into Behold so it wouldn’t display your spouse’s events prior to your marriage with your spouse – since he/she wasn’t in your life yet.

And the fact that Louis was widowed for 3 months and that Goldie was widowed for 4 years when they married is important. This needed to be added.

Once I understood the problems (that was the hard part) the rest was easy to fix (if you think that 8 hours of programming work is easy). While sorting each person’s marriages, if a marriage date was not given, then I had to check the spouse’s death date and ensure that it wasn’t before the date of any of the previous marriages. If so, then this marriage must have happened before the previous marriage and the order will need to be switched.

I’m not sure anyone will have been able to follow all this, because my head’s spinning just from writing it.

With the work done, final results were pleasing. I got this:


Now this is no longer just your standard birth/marriage/death information. It tells a real story and puts everything in context:  Louis was born in 1878 in Russia. He first married Sarah (date of marriage unknown or it would be shown). Sarah died when Louis was 50 to 51 and when Sarah was 51. Louis then married when he was still 50 to 51 after being widowed for 3 months. His 2nd wife was Goldie who was 36 and was herself widowed 4 years. Louis died at the age of 61 to 62 after being married to Goldie for 11 years.

I have designed this information to be extremely useful for anyone trying to do family research and understand the lives of their family members. Context is everything, and I’m working to produce an Everything Report that will supply you all the context you will want and need.

2 Comments           comments Leave a Comment

1. deckie49 (deckie49)
United States flag
Joined: Fri, 20 Jul 2012
19 blog comments, 2 forum posts
Posted: Thu, 19 Mar 2015  Permalink

How frustrating that must be to you. I know you are probably even more anxious to get this version released as we are to receive it. Personally, one thing I have always appreciated about you is you care enough about us to keep us informed on a regular basis. Thank you. There are many software developers out there who just don’t bother to do that.

2. Louis Kessler (lkessler)
Canada flag
Joined: Sun, 9 Mar 2003
232 blog comments, 226 forum posts
Posted: Thu, 19 Mar 2015  Permalink

Thanks, Deckie. I appreciate those nice words.

And as far as informing goes, I do hope to restart my newsletter to those who’ve opted in once this current version comes out. The last Behold News newsletter I sent out was in January 2012.


Leave a Comment

You must login to comment.

Login to participate
Register   Lost ID/password?