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

How To Get A Developer To Fix A Bug - Fri, 13 Apr 2012

Doing so is easy. Just 3 steps.

  1. Tell the developer about it. If they don’t know about it, they won’t fix it.
  2. Get the developer to realize it’s a bug. This sometimes is very difficult. Most developers are stubborn, defensive, sure they’re right, and often quite belligerent in their beliefs.
  3. Keep bothering the developer until it’s fixed. Developers are busy and often are working on ten things at once. Every month or so, email them back to remind them. Developers will try to fix bugs before adding new features, but sometimes they get lost in the workflow. A kick in the pants every so often helps.

I appreciate knowing about problems in Behold. Every bug that is fixed makes the program that much more reliable and correct. Once a bug is fixed, it usually is fixed for ever (although that’s not guaranteed since sometimes future enhancements can reintroduce the bug).

What is a bug? It’s anything that doesn’t work as it was supposed to.

So I was surprised to read in Tamura Jones’ Sibling Torture Test article that Behold’s warning that the date “13 Apr 2012” is non-standard and should be “13 APR 2012” was incorrect. That, as Tamura said, is what the specification seems to say. But in fact Tamura is correct, and all line_values (and the date value is a line_value) may be of any case, upper, lower or mixed.

This was something I completely missed in all my workings with GEDCOM. I must have read bits and pieces of the standard a hundred times over, but somehow that paragraph in GEDCOM didn’t register in this brain of mine.

Because of this, I interpreted GEDCOM incorrectly. GEDCOM is not simple. Misinterpreting it is easy. This is part of the reason why GEDCOM doesn’t transfer properly between programs … because developers don’t all do GEDCOM perfectly.

Replacements for GEDCOM are being worked on, but to get them to be comprehensive to allow all forms of genealogy data imply they will have some level of complexity. That means there will always be misinterpretation or even mistakes in coding, and you will have incorrect data transfers. These will have to be fixed. Follow the 3 rules at the top of this post.

Mistakes like these can be costly if they aren’t identified. It reminds me of my computer chess days. There I was in the middle of the 9th North American Championship, and my program failed to recognize the opponent’s en passant move and caused the loss of 2 games. This was not a programming error. This was a misinterpretation of the rule. I had read: “The en passant capture must be done on the very next turn, or the right to do so is lost.” Well, I interpreted that as losing the right to do any en passant for the remainder of the game, not just for that one specific en passant. I was not a tournament chess player and I’m embarrassed about that mistake and it cost me. If I’d have known earlier, it would have been fixed.

So thank you Tamura, for pointing out my oversight. The fix will be in the next release 1.0.5 of Behold.

5 Comments           comments Leave a Comment

1. Brett (brett)
Australia flag
Joined: Mon, 12 Jan 2009
36 blog comments, 59 forum posts
Posted: Thu, 28 Jun 2012  Permalink

Eagerly waiting for this correction. Any sign of 1.0.5 or will it be in 1.1??

2. Louis Kessler (lkessler)
Canada flag
Joined: Sun, 9 Mar 2003
287 blog comments, 245 forum posts
Posted: Thu, 28 Jun 2012  Permalink

Brett:

The last few things I’m doing in this version are significant, so the next version will be called 1.1.

Still a few nuances I’m deciding on whether to handle or not. Here’s one example. Your mother divorces your father. But a few years later they remarry. That’s usually two different FAM records. They are not two sets of parents, but just one. I have to make sure not to enter their individual life events twice in your timeline. They have a child after they remarry. That is your full brother, not a half-brother or a step-brother. This sort of thing can happen for many people who are in your life events, e.g. your parents, your children, etc.

Basically, I’ve opened up a can of worms and they’ve been crawling out for the last three months. As I wrote in an earlier post, I redid my data structure for this several times. Hopefully I’m in the home stretch.

Louis

3. Brett (brett)
Australia flag
Joined: Mon, 12 Jan 2009
36 blog comments, 59 forum posts
Posted: Mon, 30 Jun 2014  Permalink

The warning re date “13 Apr 2012” is non-standard and should be “13 APR 2012” - will this be included in the next version.

4. Louis Kessler (lkessler)
Canada flag
Joined: Sun, 9 Mar 2003
287 blog comments, 245 forum posts
Posted: Mon, 30 Jun 2014  Permalink

Brett,

I think I had it earlier and may have taken out because of a possible misinterpretation by myself regarding “All controlled line_value choices should be considered as case insensitive”. But rethinking, I believe that statement refers to line_values that are selections from a list of items. A date is a line_value with more complex rules than that, and therefore the month should be capitalized as specified.

Besides. Even if mixed case were legal for the month, it should still at least give a warning, because some programs may not recognize it that way.

So yes, I’ll include that.

Louis

5. Louis Kessler (lkessler)
Canada flag
Joined: Sun, 9 Mar 2003
287 blog comments, 245 forum posts
Posted: Mon, 30 Jun 2014  Permalink

Brett:

Regarding this issue, also see our conversation in the Behold Forum we had about two years ago:
http://www.beholdgenealogy.com/forum/topic.php?id=132

I now believe the “any case allowed” only pertains in GEDCOM to selections from a set of “standardized or controlled line_value choices”, which is not precisely defined in GEDCOM, but seems to mean a selection of textual items, e.g. SEX_VALUE may be “M”, “F” or “U”. But they may also be “m”, “f”, or “u”.

I no longer believe that a DATE_VALUE should be allowed to be mixed upper and lower case, because it is not defined as an enumerated list of choices.

Louis

Leave a Comment

You must login to comment.

Login to participate
  
Register   Lost ID/password?