Login to participate
  
Register   Lost ID/password?

Louis Kessler’s Behold Blog

RootsTech 2025 - Sat, 8 Mar 2025

Over the past 3 days, RootsTech took place in Salt Lake City. RootsTech is the largest annual genealogy conference in the world, with tens of thousands of in person attendees and several million online attendees.

I went to RootsTech in person three times, in 2012, 2014 and 2017.

In 2018. RootsTech started live streaming some of their talks. In 2021 due to Covid, the Conference was completely online. They resumed the in-person conference a couple of years ago, but with millions of viewers online during the Covid years, they smartly decided to continue streaming many of the talks.

If you went to the RootsTech website this year between March 6 and 8, you would have seen the list of 418 sessions. 254 of those were in person, 244 were available online. And 80 of the in person sessions were also available online and live. With so many sessions available online, it made for quite a selection of talks to choose from.

image


Attending Online

Of course by not attending in person, you will not be able to spend time with all your friends you made at previous conferences or make new friends. But if you couldn’t go, then the online experience is the next best thing.

There are a lot of sessions broadcast live, including the keynote sessions.

When attending online, you can browse through the list of sessions and decide which ones you want to “attend”. You can watch the live sessions when they are broadcast, or watch them any time afterwards. If you watch them live, you can join the live chat with other viewers. Most sessions also have a syllabus that you can download. 


Choosing Your Sessions

It’s really up to you to choose the sessions that interest you the most or have speakers you enjoy listening to. Most of the sessions are an hour each, and the live ones end with about 10 minutes of Q&A from the live audience.

Over the past few years and this year as well, I’ve picked about a dozen of the sessions of most interest to me. This included some of the keynotes as well as some of my favorite speakers such as Adina Newman (DNA and Endogamy), Steve Little (Artificial Intelligence) and CeCe Moore (Ethical Standards and Investigative Genealogy). Watching about 5 hours on Thursday, 5 on Friday and 2 on Saturday was enough to exhaust me as if I was there in person.

I very much enjoyed and was most impressed and surprised by CeCe Moore’s presentation:

image

She wonderfully explains her involvement for the past 11 years and gives a behind-the-scenes description of the PBS genealogy show Find Your Roots hosted by Dr. Henry Gates. But then to my surprise, she tells of how they turned the tables and did research with Dr. Gates as the subject. It included a sneak preview of the episode that is to be broadcast on April 8 where CeCe sits in the presenter’s chair. I can’t wait to see the full episode.


Session Archives

Don’t feel you can only watch the RootsTech sessions during the few days when the RootsTech Conference is taking place each year. RootsTech keeps an online archive of most of the sessions back to 2019 and these can be watched any time. There are more than 1500 sessions and 3000 other recordings in their catalog to watch.

image

Continuing Education 2024 - Wed, 1 Jan 2025

A few years ago, the Association of Professional Genealogists  @APGgenealogy started requiring that members report at least 12 hours of Continuing Education each year. I found the task of listing my CE time quite interesting and have posted them each year.

Below is my Continuing Education activity list for 2024. Each event was 1 hour unless otherwise noted.

Webinars – Total 28 hours

  • Jan 3 – Artificial Intelligence and Genealogy: New Beginnings in 2024 – Steve Little, Legacy Family Tree Webinars
  • Jan 17 – Resolving Conflicting Birthdates and DNA Painter – Lisa Cooke, Genealogy Gems Podcast (30 min)
  • Feb 13 – MyHeritage Knowledge Base – James Tanner, Family Tree Webinars
  • Feb 13 – Meet MyHeritage’s Global Experts – Daniel Horowitz, FamilySearch Facebook Live
  • Feb 14 – AI and Genealogy – Thomas MacEntee, Family Tree Webinars
  • Feb 21 – Genealogy Smart Start – Elizabeth Gomoll, Family Tree Webinars
  • Feb 26 – Learn how to create a digital genealogy workflow. Janine Adams – MyHeritage Live from Mar 30, 2023.
  • Mar 17 – Sorting Your DNA Match Lists - Kelli Bergheimer, webinar for the Allen County Public Library
  • Mar 20 – 7 Tips for Using AI as Your Genealogy Assistant – Dana Leeds, Family Tree Webinars
  • Mar 22 – Finding the Generation of Connection – Diahan Southard – Your DNA Guide
  • Apr 9 – Ask the Experts with Genetic Genealogist “The DNA Geek” Leah Larkin – Diahan Southard, Your DNA Guide (30 min)
  • Apr 11 - A Guide to Cemetery Photography – Judy Russell, Family Tree Webiinars.
  • Apr 12 – 6 Tips to Build a Family Tree for Busy People – Tara Shymanski, Family Tree Webinars
  • Apr 26 – DNA for Genealogy – An Evolving Journey – Jennifer Zinck, Association for Professional Genealogists (90 minutes)
  • May 1 – Strategies to Analyze Endogamous DNA – Alec Ferretti, Family Tree Webinars
  • May 5 – Advance Your Jewish Research in the Former Russian Empire with Important Online Resources and Strategies – Joe Everett - Santa Cruz Jewish Genealogy Society (120 min)
  • May 22 – A Tour of Goldie May’s Genealogy Power Tools – Richard Miller – Legacy Family Tree Webinars
  • June 6 – Using AI to Analyze and Visualize Your Census Data – Dana Leeds – YouTube (20 min)
  • July 9 – 10 Reasons Why MyHeritage is a Genealogist’s Best Friend – Melissa Barker, Family Tree Webinars
  • Aug 8 – Preparing for 3rd Party DNA Tools by Sara Cochran – Virtual Genealogical Association (Live presentation was June 30)
  • Sep 18 – Practical Chromosome Mapping: Gaining Insights from Segments of DNA – Jonny Perl, Family Tree Webinars
  • Oct 19 – Rubik’s Cube Genealogy: A New Twist on Your Old Data – Elissa Scalise Powell, Family Tree Webinars
  • Oct 19 – Keeping Track of Surnames – Fiona Brooker, Family Tree Webinars (20 min)
  • Nov 12 – Turn Your MyHeritage Record Matches into a Research Roadmap – Lisa Alzo, Family Tree Webinars
  • Nov 20 – Top Ten AI Genealogy Breakthroughs of 2024 – Steve Little, Family Tree Webinars (90 min)
  • Nov 22 – Information Overload? Effective Project Planning, Research, Data Management & Analysis – Elizabeth Shown Mills, Family Tree Webinars (80 min)
  • Dec 4 – Challenging Some DNA Myths: Learn to Separate DNA Fact from Fiction – Paula Williams, Family Tree Webinars (80 min)
  • Dec 17 – I (Think I) Have a DNA Network: Now What? - Diahan Southard, Family Tree Webinars

Conferences (Online) – Total 13 hours

  1. Feb 29 to Mar 2 – RootsTech 2024
    • Genetic Genealogy Turns 25: DNA Experts Tell Their Stories – Diahan Southard
    • What’s New at Ancestry in 2024 – Crista Cowan
    • The Knowles Collection: What Is It and How Do I Use It – W. Todd Knowles (30 min)
    • Drowning in Family Photos: Why Metadata Makes Your Library Searchable and Enjoyable – Rich Harrington
    • U.S. Synagogue Records as Genealogical Resources – Ellen Kowitt
    • Using FamilySearch for Jewish Research – W. Todd Knowles
    • FamilySearch GEDCOM 7: Popularity, Resources and Future – Gordon Clarke (30 min)
    • Syncing AQ/PAF data with Family Tree (3 videos) – Gaylon Findlay, Ancestral Quest
    • What’s in a name? DNA, surnames and one-name studies – Debbie Kennett
  2. Nov 1 to Nov 3 – WikiTree Symposium 2024
    • Creating an Ancestor Sketch – Thomas MacEntee
    • Finding the records for “impossible” genealogy. Lessons learned from a Chinese genealogist – Linda Yip
    • Hopping Down the Paper Trail – Sara Cochran
    • Using AI in Family History Research – Melanie McComb
    • From Name Collection to Name Confirmation: Adding Leaves tot he RIght Branch – Cheri Hudson Passey

    In total, my time in 2024 was 41 hours. By comparison, 2023 was 39.5 hours and 2022 was 38 hours.

    Programmers Solve Problems Like Genealogists Do - Sun, 8 Dec 2024

    I’m working hard on Behold to get Version 0.99.1 Beta released. It will include GEDCOM export which I think will make it a valuable tool for many genealogists.

    It has been taking longer to finish the GEDCOM export than I had hoped, partly because of opportunities to work on my own genealogy (which I don’t apologise for), but also because of a change needed to Behold to get the export to work. That change being to not repair the GEDCOM when it is input. Instead it must leave it as it is so that it can be exported back out again as input if the user desires it that way. The repair instead should take place when Behold displays the data in its Everything Report, or when the user decides to export following the GEDCOM 5.5.1 standard.

    But that’s not the topic of this article. I’d like to present a typical programming mystery of the type that I often encounter, and a typical methodology I use to see my way through it.


    Like a Mystery Novel

    My wife loves a good mystery novel. It gets her thinking. You have to be observant to pick up the clues as some lead you in the right direction and others take you on a wild goose chase. When the novel ends, you can be self-satisfied if you figured out who-dunnit before the answer is revealed, or you can be surprised or shocked when you didn’t get it. A good mystery novel is something you will enjoy if the story was interesting, the premise of the mystery was unusual but made sense, and the solution in the end was plausible.

    As a genealogist, something always creeps up that doesn’t make sense. Why is the father only 15 years older than the child. Was the family really in Ohio one year, Massachusetts the next, and back in Ohio again the year after? Why is the wife’s father’s name on their wedding license different than the father I have for her. Who is that in the picture with my grandfather?

    All these genealogy puzzles are like mini-mystery novels. Each has their own solution. Some may be easy to find. Some nigh to impossible. Others may take years where a single discovery, most often from the most unexpected place, turns out to be the lead that was needed and we jump for joy for a few days afterward. As a genealogist, these puzzles provide me with all the mystery solving that I need, and I can leave the mystery novels to my wife.

    As a programmer, I also often come across something in my program that doesn’t make sense. In this case, the program is simply not doing something that I was expecting it to do. It could be due to incorrect coding, unexpected and unhandled data, data structure issues, operating system issues, or a mental block that was preventing me from seeing the correct result. Solving each programming puzzle takes detective work, finding clues, logic and reasoning, testing ideas, and proving a solution. Very similar to genealogy.


    One Programming Example from Yesterday

    Here is a very simple example of one of my typical programming problems and my method of solution. Over the course of a 3 month period of developing my GEDCOM export, I’ve had dozens of such problems. This particular one took me about 3 hours to solve. Others can take anywhere from 5 minutes to 5 days to solve, often with my mind subconsciously working on possible solutions especially at night and in my morning shower.

    I was working on handling the custom level 0 place records, which some programs use to allow additional information about a place. For example RootsMagic uses 0 _PLAC, Legacy uses 0 _PLAC_DEFN, and the GEDCOM-EL group uses 0  _LOC. These are all custom tags that most other programs don’t understand. Behold can read and display this data, and will also be able to export to GEDCOM.

    One RootMagic GEDCOM that I was using for testing had this place reference:

    image

    It was saying that the Marriage License for family F299 (husband I833 and wife I940) was signed on Aug 29, 1834 in Austintown, Trumbull County, Ohio.

    In addition, it had a 0 _PLAC record to further describe Austintown:

    image

    Behold Version 1.2.7 displayed this correctly in its Place Details:

    image

    Behold shows in the Place Details all references to each place, and the one reference in the GEDCOM file to Austintown is the marriage license.

    Because I made some data structure changes in Version 1.99, I had to get the custom _PLAC record to work correctly. I got it working two days ago, and once I did, I expected it to look like this:

    image

    You’ll notice a few improvements in 1.99. The new version understands that the NOTE tag under a _PLAC record is simply a note and displays “Note:”. Since the references are ordered by date, the date is now on its own line with the parts of the date listed in reverse which makes scanning for the correct date easier. The event type (in this case Marriage License) now starts on the next line. The Behold reference numbers are no longer included (since the hyperlinks can take you directly there). All previous surnames are now enclosed in parenthesis rather than just the maiden name. And the person’s first surname is now shown in a bold font to make it stand out. 


    What was wrong and How I solved it

    Unfortunately, after I got the _PLAC record working, I did not get the above result. Instead I only got this:

    image

    The marriage license reference was missing. Why was that?

    The next day, I took a closer look at this problem.

    The program I use for development is Delphi by Embarcadero. It started from the Pascal language and they added object-oriented components to it. Instead of just a code editor, it offers an IDE (Integrated Development Environment) that adds a visual designer and a debugger.

    It’s the debugger that I like the most (including the name “debugger”) which you use to fix “bugs” in the program that are bugging you the most, thereby debugging them and getting rid of those buggers.

    The debugger allows setting of breakpoints at the lines in the program that you want it to stop on. Then you can inspect to see what the values of your variables are, and advance the program, a line at a time if you want, until you have determined what it is that is happening that shouldn’t be.

    So the question in this case is why is the marriage license reference missing.

    Here’s what I did:

    1. Check the GEDCOM input of the line 2 PLAC Austintown, Trumbull Co., Ohio to ensure that Behold is creating the reference of the MARL event to the place. I put a breakpoint at line 2786 conditional on the value of tag being “MARL”. And the program stops there:

      image

      and after inspecting some of the variables and data structures, I was able to check that the reference was being added correctly.
         
    2. So what’s the next bit of code that might have caused the reference to be missing? It would be once the GEDCOM has been read and the reverse references are assigned. If a MARL event in a FAM record is referencing a place (or any other structure), then the reference from the place or structure back to the event must be created. If that is not done properly, then the link back won’t appear. The code for the reverse FAM links is:

      image

      I can follow that into my ProcessCiteRef routine, see the values of all the variables and check that everything is working. Indeed it was.

      About this time, my wife saw that I had been working away on this “bug” for a couple of hours. Without ever having understood any of the programming that I do, she thoughtfully suggested to me that “It’s probably a missing ‘L’.”

    3. So I’m on my way to find a missing “L” in a haystack.

      It is quite strange because almost all the other references are showing up fine. Here you can see the place before and two places following Austintown have references appearing:

      image

      There’s only one other place left that might be causing the reference not to be showing up. That is where the reference is being displayed. So I go to my PrintCiteRefs routine and place a breakpoint there and start to debug it line by line.
       
      I get down to a few lines which I added last version and I see a bit of code and I immediately see what is wrong! Do you see it?

      image

      This code was working fine for reverse references originating from INDI (individual) records, but not from FAM (family) records. All INDI references were being displayed (e.g. Residence, Death, Census as shown above).
      The problem was a missing set of parenthesis. The “and” line should have an extra set of parenthesis enclosing the “or” terms:

      image

      Without those parenthesis, every time a reference was from a FAM record, it would be skipped. This was an error I added in version 0.99 when I added the Living People filter.

      After adding the parenthesis, the FAM reference was now displaying, as well as all other FAM references such as the two marriage events for Austin:

      image    

      My wife had the right idea that it was something simple. It wasn’t a missing “L”, but it was a missing set of parenthesis that caused the problem.

    Conclusion

    Long story short. Programming is detective work, just like genealogy research.

    You need to find that one bit of evidence that will solve your current problem.

    Those of us who are programmers and/or genealogist do this because we enjoy the process. And we especially love those “eureka” moments when we fix that bug or break through that brick wall.