My functions to merge Tags into Behold files, and merge Tags from Behold files had a major flaw. They did not give enough info about what was going to be merged. So on I went to add this. It led to other cans of worms, since there were some parts of the merging that weren't being done right and needed ...
While implementing the saving of Tag files into new files, I realized I was not consistent in the way Behold does all its Open and Save dialogs. It seems like a good time now to fix this up.
The first thing I wanted to fix was the way the initial directory is set before the dialog opens. I looked at ...
Whoops. During my "radical surgery" when I was simplifying the Organize Pages as described in my Sept 11th post, I thought I'd be eliminating the IDs completely and had removed the code to allow their editing. But later, see my Oct 23rd post, I added the IDs back in. I forgot to add back in the editing code and ...
I'm working at cleaning up the way the GEDCOM tags are handled. Most tags are simple tags. But tags under the header have "/HEAD" appended to them so that they can be distinguished from the simple tags. Their meaning in the header is usually different. e.g. SOUR is different than SOUR/HEAD.
Then there are ...
Last week, I was fixing some internal bugs that I must have added since the last release. They were tougher to track down and fix them than I thought, but that's done. One was that Behold would load much slower when Behold was already open in another window (I allow multiple copies of Behold to run at once.) ...
The Add Families window is now complete. It almost feels like I added back in the old Name Index window, but I think this one is a better implementation. It looks similar to the Name Index that is in the Everything Report. It is also non-modal, so you can leave it on the screen to and use it to easily locate ...
Earlier this week, I finished up the Find Files tool. I think it works quite nicely now.
Next was to do something with how Families are added. I wasn't happy with the way that worked. You either right clicked on a person in the Everything Report and select Show Family or press on the Show Family toolbar ...
The other aspect of adding a brand new window to Behold is to get all the user interface features right. Every button must be tested and must do the expected thing. The button names must be standard, or else obvious. Buttons need a letter underlined, and allow Alt-key shortcuts. The need to be enabled and ...
Developing a Find Tool is pretty straightforward ... or so I thought. It turns out that the "hard" part is easy, and the "easy" part is hard.
The "hard" part I thought was to do the file search efficiently. I had some Delphi code I found long ago to do file searching and implementing it and tweaking it only ...
I just changed the GEDCOM button on Sunday, but I'm changing it again today. A comment by Herb on my Forum and my subsequent responses to him show how I realized that most people do not want to view the GEDCOM. I shouldn't make the GEDCOM viewer an important toolbar item. So I will relegate it to the GEDCOMs ...
Here's one I didn't catch until I tried it today. If you uninstall Behold, the uninstall doesn't delete the Behold.exe program and two other small files that it should. I had a "nowait" parameter on the uninstall, which attempted to delete the program before it was finished cleaning up. Therefore it didn't get ...
I've changed the way the GEDCOMs are read in. They used to be loaded into a RichEdit that was shown in the GEDCOMs and Input Log window. Then they would be read from the RichEdit to load the data. Now I load the data directly from the GEDCOM files. This saves about 25% of the file loading time, so another small ...
Today is my 50'th birthday and I couldn't be happier.
Cheryl and I have had 25 wonderful years together. Brenna and Brittany are two superb daughters. My parents are doing well at 82. My sister and sister-in-law and their families all live here in Winnipeg with us and we all get together weekly.
I've ...
One day and two little bugs that are important enough that they deserve fixing. Both were introduced in Version 0.98.7 and cause access violations. One happened when dragging and dropping a GEDCOM icon onto Behold. This was caused by the new version of Richview. I only had to add one line to change a setting ...
It's the wee hours of the morning, about 3 a.m. I managed to get the new version up. I sort of still think of this as Tuesday, since I haven't gone to bed yet, but it's an extra day on the 90 day limit if I call it Wednesday.
I redid almost 100 graphics to update the Tutorial in the help file. I don't know ...
I almost got there, but not quite. Unfortunately, I had a cousin's funeral I had to go to this afternoon, so that used up 4 hours.
But I got all the changes I wanted into Behold for this version. I also edited out the "private" information from my two new user sample files. And I got started redoing the ...
Now that I've implemented incremental processing, it makes it possible to add a very important Stop button. It will work the same as the Internet Explorer Stop button. I can check during processing if the button has been pressed and Behold will stop. This will be a lifesaver for large files that are taking too ...
I didn't end up using the numbered lists of Richview, but I did eliminate the Tables. Instead of the table boundaries, I now separate sets of people with horizontal lines. It looks good, and has all the advantages that I stated in my last post.
The one thing I lose is the visual representation of what ...
Yet another unexpected idea ...
In the Richview forums, someone asked how to do numbered lists. I had completely forgotten that Richview could do this, because it was added after the version I was working with until I upgraded last month. But it struck me that I could use the lists to do the indenting that ...
Thank you everyone, for submitting your GEDCOMs for inclusion as sample programs with Behold. Including your actual files with Behold will add that personal touch to Behold, which I think is something special.
I received 21 submissions, created by 7 different programs. Legacy was the most popular, followed by ...
The incremental loading works nicely now. The progress meter works its way nicely to 100%, but it still can be tweaked a bit to show consistent increments (for the future).
Tomorrow I'll look at your GEDCOM submissions and decide which ones I'll be including with Behold. This is your last chance to send ...
Next on the agenda was to incrementally build the Everything Report. That way, as soon as the GEDCOM is read and pre-processed, the Everything Report would start displaying. Once the beginning of it is displayed, you can start looking at it, scrolling down, and even hyperlinking to other parts that have already ...
Over the last few days, I got the progress bar working so it ends properly at 100%. In doing so, I added some timing code and included the timings in the log file. I was surprised by what I found. I had thought that the Richview formatting was taking the bulk of the time. Instead, the formatting is only taking ...
I like to have a lot of fun with Behold. One thing I need to do is to rework my screen shots in my Help documentation and website. The sample GEDCOMs now included just don't cut it, and I'd like to include some better ones in future releases.
So I sent out an e-mail to all Behold users asking for people to ...
Wow! This worked out even better than I expected.
I set up a "Numbering" menu and taskbar item. When you click it, it will toggle the display of numbering on and off. I implemented it using an "invisible text" feature that I got to work in Richview. I actually give the numbering its own style, and when I turn ...
Google had just added a customized search tool you can build called Google Co-op. Just for fun, I used that to build a Google GEDCOM search. It took me only about 2 hours and it's up. For now, I've added that to my Genealogy Software Links page and I'll see what the reaction is.
I've always wanted a way to ...
Maybe I can have my cake and eat it too.
As part of moving the hyperlinks from the ID numbers to the names, I simplified the ID numbers to be a sequential number and made them a suffix to the name, e.g. John Smith-143. That has been nagging me for the last month, because there is some usefulness in having ...
Here's a tip for one bug in the Feeds of IE7:
Feeds appear to be sorted in alphabetical order. It seems you are supposed to be allowed to drag and drop them in order to move them around, but when I tried, I found they go to the end of the list. So I said, maybe if I move each once in the order I want them, ...
I fixed the "Pending" problem with the Hyperlink underlines. Yay!! Sergey responded to my post on his forum requesting help, and after a few days of working with his ideas, I got a fix working. Still not exactly sure why or how ... but it works perfectly now.
I just downloaded Internet Explorer Version 7 and installed it from www.microsoft.com/ie.
ClearType fonts (web pages look different - I think I like it), RSS reader (a few bugs but still nice - it should replace Feedreader nicely), Tabbed browsing (got to get used to the shortcuts), a search box on the ...
I've been working on this problem for two and a half weeks. I've debugged the code back and forth many times. It's difficult to do when it involves the mouse cursor, because switching from the program to the debugger causes a mouse event.
Once I reach a point like this, and find I cannot get any further by ...
I installed the new Version of TRichview. The problem still exists, so indepth debugging was required. After a few days, I learned the important differences between the caret and the cursor.
The caret is the current location in your program where you last clicked. It is usually represented by a vertical bar ...
There is a chance that the second glitch may be a TRichview bug. If that's the case, I'd sooner not spend time looking for it if there is a chance it has already been fixed.
I'm still using TRichview version 1.7.1.1 which is about 3 years old. Sergey is currently at 1.9.24 and has made lots of changes and ...
Yay! Halfway there! Solved the cursor and underlining part. It now changes to and from the "active link" settings when the cursor passes over.
Now to attack the 2nd glitch: sometimes, doing the click will delete the text and give an error. Very strange!
If you go to Behold's Home Page or to Google, you will see the Internet standard for hyperlinks for many years: as underlined blue text. I had set up Behold to be this way as well, but once I put the hyperlinks on the names, there now became a lot text in blue and underlined. This is not only a little ugly, but ...
The hyperlinks on peoples' names are now not displayed in the Everything Report, except when printing. I had to go into TRichview to implement this properly. I was very happy with the way it worked out, and it ended up being only 4 lines of code!
I've passed on my solution to Sergey and hopefully he'll use it ...
So I've now moved the hyperlinks that were on the people's IDs onto the people's names. A few notes regarding this:
(1) The name is much longer than the ID was. That puts a lot more blue underlined text on the screen. The Table of Contents without the IDs is now completely blue and underlined. I'll have to ...
If you check my Future Plans page regularly, you'll see that my tasks often change. I maintain that page as my own personal ToDo list for Behold. The tasks I've already done are marked with a checkmark. Then I have that cute little programmer icon working away on the task I am currently on. When I get it done, ...
The "Speed is more important" quote from my last entry got me thinking. Right now, Behold is really limited to a file of about 5,000 names. It takes about 40 seconds for it to load one that big. Practically, it is fast enough for 2,000 or fewer names, but is only adequate for 2,000 to 5,000.
It no longer is a ...
Yesterday's Digital Samurai blog entry is "14 things you can learn from the Google story". Several of them had great meaning for me and Behold:
- Do focus on changing the world, don
I've now converted the numbering over to a single sequential number. The idea here is that the number usually will not be displayed. But it will be displayed by default for printing, since printouts won't have hyperlinks you can click on, and you won't be able to find the correct person quickly without it.
...
Deleting the Name Index Window was easy. Almost too easy. I did it carefully to try to remove any extra data structures that were only needed for it, and in only a couple of hours it was gone.
I'll just take a moment to remember the 6 months I spent developing that window ... Okay, I'm over it. Now on to ...
As I mentioned in my blog post yesterday, I've added all the tasks I want to do for program simplification to my Future Plans listing for Version 0.98.7 alpha, which I still hope to finish by the end of this month.
Well this was quite a day. I was working to make it possible from the Everything Report, to add the family of a selected person into the Everything Report. This would basically eliminate the need for the Name Index Window, and would simplify the use of Behold.
That led me to the realization that I can use ...
I heard from someone that Behold would take a long time to open his 39,000 name family tree. That's right, its a problem. And that's what I'm now working towards, to make it faster and thus allowing it to load larger trees. My Behold FAQ currently says Behold should handle 30,000 names with 512 MB of RAM. But ...
During some e-mail communication with a fellow programmer/genealogist who tried Behold, he indicated that Behold is just too slow and unresponsive while loading. Unfortunately, I had to agree. All the features I have been adding over the last year have been making Behold slower and making it use more memory. I ...
I had a great weekend. It was a reunion for me! From Grade 4 to Grade 9, our class was made up of mostly the same kids. Almost all of us met back in Winnipeg for a wonderfully planned set of activities, including tours of our old schools. I hadn't seen some of my classmates in 35 years, but recognized them ...
As the days go on, I'm getting more and more excited about Behold. So I updated the Behold Home Page to reflect some of my new thoughts. I've added several new points and included benefits on every item. I've also added a "call to action" at the bottom of the page.
Check it out!
One of the questions just posed to me was: "What are your plans to support the combining of several GEDCOM files into one's own file?" If you've read some of my blog posts, you'll know I feel quite strongly on this.
After putting my thoughts together, I decided to formalize what I will be doing with this, ...
With only 3 days to spare before expiry, the new version of Behold is now up. I'm very pleased with some of the improvements to the data structure. The code is much cleaner than before and even though the users of Behold don't see it, it will make it much easier for me to maintain, and that is important.
The ...
Yes, I'm happy. I got the two-way linking information for parents, children, families and spouses working in the way I was ultimately hoping to. Just one little adjustment to the spouse display, plus a couple more tweaks to a few other items, and the 0.98.6 release will be out.
It's nice to make good progress. Sometimes, fixing the way part of Behold works involves line-by-line tracing and monitoring the values of variables along the way, to ensure everything works correctly. I just finished making a needed enhancement to a low-level search procedure I developed five years ago, so ...
Silence is golden ... except in the case of Blogs. I like to make entries and document my progress and when I don't, it's either because I've been doing non-Behold related things and haven't had the time, or because I've got stuck.
Getting stuck is no fun and for a few weeks that's where I've been. I have my ...
In the Behold Forum, I have had some reports of Behold locking up. First Max reported it, and then Mala did. I worked with both of them, and despite both of their best efforts, I was not able to reproduce the problems they were reporting.
But I did a fair bit of work to research what might be happening ...
Well, I've got to come clean. What I've been working on the last two weeks has been related to setting things up so that when the Behold release is finally out, I'll have proper tracking and marketing procedures in place.
I know it's important to get the program done, but it is equally important to set up ...
Ahhh, summertime! Isn't it wonderful. Beautiful weather, lots of family activities, relaxation, work around the house ... But its not always that good for programming. Didn't do any programming on Behold last week (although I did do some peripheral stuff, including planning and organizing). But not making ...
It was a small but enthusiastic crowd at my talk today to the Genealogy Forum of the Winnipeg PC User Group. Presenting a product like Behold to genealogists is a delicate matter because it is so very different from all other genealogy programs that they are used to using or have seen before.
The idea of ...
When was the last time you cleaned up your e-mail folders? I try to answer all my e-mails and delete the ones I don't want to keep right away, but I tend to be a bit sloppy in not printing out the ones I want to immediately or moving them to archive folders appropriately.
Usually every 6 months or so, I tend ...
Next Wednesday, I'll be talking to the Winnipeg PC User Group about Behold. Their Genealogy Special Interest section meets once a month and I've been asked to speak.
I'm looking forward to this. I'll be able to bounce around the concepts of Behold with a group of computer-savvy genealogists in person. It ...
I regularly read Joel Spolsky's writings. 15 years ago, he was the Program Manager of Excel for Microsoft. This is such a great little story, I just have to pass it on. It's titled: My First BillG Review.
It's been a good week! I've been working my way through getting the display of linking information working the way I think it should. Good steady progress as I get there, and I've been fixing a few other things as I go.
Part of my thrill was that I was able to take out a huge chunk of code during this. I ...
I just had a second cousin I never met e-mail me, and the excitement is renewed as I open up that family line again to see what we can share. You must know the wonderful feeling when you make a connection - something only family researchers can understand.
Over the past 10 years, I have had about 200 people ...
I had completed the new data structure in the 0.98.5 release, so every bit of GEDCOM should now be read in. The part that I didn't complete was being able to print it all out. The last week I've been working on that.
The tricky part is to combine linking data together so that the same tags and/or detail are ...
The pressure finally built up so I decided it best to get this release out. It's been almost three months.
I put in a huge amount of work since the last version. The data structure for linking had some major problems and took a fair bit of time to fix. Other improvements are significant, but don't really ...
One important change I made was to simplify the reverse links. Behold's new linking structures use two links (links both ways) for links between INDI/FAM records. For example, a CHIL link would generate both the "Child" link and the reverse link which I had called "Child of". Similarly the FAMC (or "Parents" ...
The sample files Max sent me to help work on the AFN tags feature were very interesting. He sent me a Behold file that loaded 15 small GEDCOM files. I've never tested Behold with this type of input and it shows up a few problems that I've already started fixing.
First the Behold file wouldn't work because the ...
I've split my Future Plans into an extra version and reestimated the dates of upcoming versions. I'm excited about the things coming up, including many new features that will be unique to Behold because of its design that makes it very different from all other genealogy programs. I'll try to get a version out ...
I think I've figured out how I might be able to quickly implement the Familysearch File merging. I want to avoid any new buttons or options right now. So what seems best is to try is to use the AFN (Ancestral File Number) tags. Any individuals in all GEDCOMs loaded into Behold with the same AFN tag will be ...
In the Problem Reports section of the Behold Forum, Max said he needed to reconstruct separate GEDCOM parts back together. Specifically, familysearch.org only allows you to download single family groups or up to a 5 generation pedigree as a GEDCOM. To get a whole family, you have to do multiple downloads and ...
I spent the last few days fighting a disease. My poor Schubert Chokecherry tree came down with Black Knot. I somehow missed seeing it during the winter and the tree service wouldn't prune it, telling me instead that it would be best to remove the tree.
Well I wasn't one to give up on this beautiful tree ...
In the test file I am using for the "references in references", I found a few of the references were not showing up in the Everything Report. Problems like this are almost always caused by something I'm not expecting. This case was no different. A bit of program tracing and I found it led deep into my string ...
Next on the agenda, I think I'll tackle one of the toughest tasks left. I call it "references in references" but I think I originally called it "recursive links". An example might be an event that has a witness, and some of the data about the witness has a source, and the source refers to a repository, and the ...
I did it! I finally finished that last bit of code needed to get the new data structures to work. When I got down to it, it only took about 4 hours of slugging through line by line to put it together and get it working. This is such a relief as its been plaguing me for several months and delaying the progress ...
I have an old hobby that has been on the backburner since before the development of Behold has taken over. It is putting together a comprehensive Biblical Genealogy and matching the Bible to the Pharaoh Dynasties. I have many books and information on this, and do hope one day (when Behold Version 2 is out) to ...
A few random notes:
There's a new verion of Family Historian available, and with it they've made an interesting GEDCOM test and have compared their program with Roots Magic and Family Tree Maker. Family Historian was designed using GEDCOM as its data structure, so naturally, it is vastly superior in a test ...
I have many times spent several weeks planning my data structures on paper, trying to ensure they will handle all the different types of data that will come at them. But I have observed that no matter how good the planning, it is during the programming that the first set of complications arise. And then ...
Finally making some progress to clean up this version. I'm dealing with forward and reverse links between people and families. The difficulty is to display information associated with the link in both places, but making it obvious what it is referring to. Also, multiple information linked from several people ...
Last weekend, I got another strange idea in my head and thought I'd try to generalize that data structure one more level. Bad move. Just too many exceptions for the new structure to handle. So this weekend I'll go back and simply try to eliminate the problems in my current (i.e. new) structure. As soon as I'm ...
Ever wonder what is involved in releasing a new version of Behold? No? Doesn't matter. I feel like explaining it.
After the struggle to create a version that is stable (i.e. as many bugs as possible have been removed), I then run through a checklist. (1) I decide on a new version number, and sometimes I ...
Well, I got a stable version out with only 2 days to spare. But at least I've finished that last data structure, which was the last major component needed before version 1.0. Everything else until then will be relatively minor additions and fixes, and lots of tweaking to make sure everything works as it ...
I carefully reviewed my data structure design in detail and found the three flaws that plagued me over the last month and a half. This may not be the sort of stuff that is interesting to read, but I want to quickly document it here, if only for my own future reference:
(1) I wanted to include all the 5 basic ...
Sorry for the silence again. It's been a rough month for me. But to be honest, it hasn't been computer problems that have been slowing me down. Actually it is the redesigning of the data structures that has been killing me. I've redone the data structure twice and I'm still not quite there. Each time I thought ...
All is better now. It's strange how I discovered what the problem was, which the 5 people at HP couldn't direct me to: As I was preparing my old computer to take it in for repair, I realized that the thing I did a week earlier when the shutdowns started, was to move my old computer off my desk. When I did ...
I've now talked to 5 different people at Hewlett Packard. We tried 10 different things over the phone but the problem is still there. I may have to send my computer to Toronto. They maintain that they will fix it in 3 to 5 business days. It will go there and back by UPS at no expense to me.
I might just do ...
Bad things really happen in bunches. About a week ago, only a few days after my old computer died, my new computer started having an occasional random shutdown. I scoured the web for possible reasons and fixes. It seemed that its most likely the system board, with the off chance that it is the cpu. Things you ...
The unbelievable has happened! My Windows 98 computer just died. The power starts up, I hear the disk drives start, but there is no post beep and nothing on the screen. Pressing the power button or restart button won't do anything - it just stays on. Pulling the plug turns it off, but it attempts to restart as ...
I wanted to compare the Everything Report in the new version of Behold that I am working on to the most recent release. I needed to install the older version on my new computer so I went to Behold's Download Page to install it from there. I clicked on the download link, selected Run, waited for the loading, and ...
Sorry for the long delay between posts. I have been working hard this week on my redesigning of the code that does the references (See Jan 2). I've got most of the kinks out in the design, and I've been working on implementing them. I'm making progress, but not quite finished yet.
Regarding the Windows 98 ...
Finally everything's set up and I can compile Behold again and continue on with development. I hope I can remember where I am, since I left it right in the middle. But the main benefit of this pain should be no more system crashes that lose work, cause frustration and lose time.
For fun, I thought I'd try to ...
Just about finished setting up the new computer. Then I can get back to Behold. It took me a bit longer than I thought to transfer all my programs over and customize things.
I have installed about 100 programs so far, upgraded the original versions where applicable, and then set their options the way I ...
Unfortunately, Remote Administrator had a minor and a major problem for me. The minor problem was that the scroll wheel on the mouse would not work on the remote machine. The major problem was that I couldn't get my Windows 98 machine to start up without a monitor attached. I tried every setting in the Bios, ...
Well, I started setting up my new computer. I figured it would be easier to set up everything if I had the two computers running side by side on my desk. However I had one problem: 2 computers and 1 monitor.
My first thought was to use Microsoft's free Remote Desktop tool that comes with Windows XP so that I ...
The story of the PC being repaired at Best Buy (see Dec 14 and Nov 6) has successfully concluded. Best Buy was unable to repair the computer in 60 days. After 60 days, their extended warranty promises a replacement computer. Despite the hassles involved in getting to the 60 days, I am pleased that the manager ...
My troubles stemmed from trying to define by forward and backward links at the time the GEDCOM is read. The backward links, which were already implemented, can always be defined at that time, since they refer back to the structure that is currently being defined. But the forward links sometimes cannot be ...
I got a bit stuck while trying to extend INDI and FAM references to link both forwards and backwards. It took a couple of days to determine what the correct implementation should be. Then I made an attempt to code what I thought would work, but it didn't. I made three attempts to change the technique slightly, ...
You are currently browsing Louis Kessler’s Behold Blog archives
for the year 2006.
Archives